[*] 日常优化
This commit is contained in:
@@ -1181,15 +1181,13 @@ class Taoyao {
|
||||
// dataConsumer.on("sctpsendbufferfull", fn());
|
||||
dataConsumer.observer.on("close", () => {
|
||||
if(room.dataConsumers.delete(dataConsumer.id)) {
|
||||
console.info("数据消费者关闭", dataConsumer.id, streamId);
|
||||
me.push(
|
||||
protocol.buildMessage("media::data::consumer::close", {
|
||||
roomId : roomId,
|
||||
consumerId: dataConsumer.id,
|
||||
})
|
||||
);
|
||||
console.debug("数据消费者关闭", dataConsumer.id, streamId);
|
||||
me.push(protocol.buildMessage("media::data::consumer::close", {
|
||||
roomId,
|
||||
consumerId: dataConsumer.id,
|
||||
}));
|
||||
} else {
|
||||
console.debug("数据消费者关闭(无效)", dataConsumer.id, streamId);
|
||||
console.debug("数据消费者关闭(数据消费者无效)", dataConsumer.id, streamId);
|
||||
}
|
||||
});
|
||||
me.push(
|
||||
@@ -1211,20 +1209,22 @@ class Taoyao {
|
||||
/**
|
||||
* 关闭数据消费者信令
|
||||
*
|
||||
* @param {*} message 消息
|
||||
* @param {*} message 信令消息
|
||||
* @param {*} body 消息主体
|
||||
*/
|
||||
async mediaDataConsumerClose(message, body) {
|
||||
const me = this;
|
||||
const { roomId, consumerId } = body;
|
||||
const room = me.rooms.get(roomId);
|
||||
const {
|
||||
roomId,
|
||||
consumerId
|
||||
} = body;
|
||||
const room = this.rooms.get(roomId);
|
||||
const dataConsumer = room?.dataConsumers.get(consumerId);
|
||||
if(dataConsumer) {
|
||||
console.info("关闭数据消费者", consumerId);
|
||||
await dataConsumer.close();
|
||||
} else {
|
||||
console.info("关闭数据消费者(无效)", consumerId);
|
||||
if(!dataConsumer) {
|
||||
console.debug("关闭数据消费者(数据消费者无效)", roomId, consumerId);
|
||||
return;
|
||||
}
|
||||
console.debug("关闭数据消费者", consumerId);
|
||||
await dataConsumer.close();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1531,7 +1531,6 @@ class Taoyao extends RemoteClient {
|
||||
if (consumer) {
|
||||
console.debug("关闭消费者", consumerId);
|
||||
consumer.close();
|
||||
me.consumers.delete(consumerId);
|
||||
} else {
|
||||
console.debug("关闭消费者无效", consumerId);
|
||||
}
|
||||
@@ -1711,37 +1710,6 @@ class Taoyao extends RemoteClient {
|
||||
}));
|
||||
}
|
||||
|
||||
/**
|
||||
* 关闭数据消费者信令
|
||||
*
|
||||
* @param {*} consumerId 数据消费者ID
|
||||
*/
|
||||
mediaDataConsumerClose(consumerId) {
|
||||
const me = this;
|
||||
me.push(protocol.buildMessage("media::data::consumer::close", {
|
||||
roomId : me.roomId,
|
||||
consumerId: consumerId,
|
||||
}));
|
||||
}
|
||||
|
||||
/**
|
||||
* 关闭数据消费者信令
|
||||
*
|
||||
* @param {*} message 信令消息
|
||||
*/
|
||||
defaultMediaDataConsumerClose(message) {
|
||||
const me = this;
|
||||
const { roomId, consumerId } = message.body;
|
||||
const dataConsumer = me.dataConsumers.get(consumerId);
|
||||
if (dataConsumer) {
|
||||
console.debug("关闭数据消费者", consumerId);
|
||||
dataConsumer.close();
|
||||
me.dataConsumers.delete(consumerId);
|
||||
} else {
|
||||
console.debug("关闭数据消费者无效", consumerId);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 消费媒体信令
|
||||
*
|
||||
@@ -1920,6 +1888,36 @@ class Taoyao extends RemoteClient {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 关闭数据消费者信令
|
||||
*
|
||||
* @param {*} consumerId 数据消费者ID
|
||||
*/
|
||||
mediaDataConsumerClose(consumerId) {
|
||||
this.push(protocol.buildMessage("media::data::consumer::close", {
|
||||
consumerId,
|
||||
roomId: this.roomId,
|
||||
}));
|
||||
}
|
||||
|
||||
/**
|
||||
* 关闭数据消费者信令
|
||||
*
|
||||
* @param {*} message 信令消息
|
||||
*/
|
||||
defaultMediaDataConsumerClose(message) {
|
||||
const {
|
||||
consumerId
|
||||
} = message.body;
|
||||
const dataConsumer = this.dataConsumers.get(consumerId);
|
||||
if (!dataConsumer) {
|
||||
console.debug("关闭数据消费者(数据消费者无效)", consumerId);
|
||||
return;
|
||||
}
|
||||
console.debug("关闭数据消费者", consumerId);
|
||||
dataConsumer.close();
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询数据消费者状态信令
|
||||
*
|
||||
|
||||
@@ -27,7 +27,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
@Slf4j
|
||||
@Protocol
|
||||
@Description(
|
||||
memo = "关闭通过回调实现所以不能同步响应",
|
||||
memo = "关闭通过回调实现所以不能同步响应,以下场景出现:主动断开、离开房间、信令断开",
|
||||
body = """
|
||||
{
|
||||
"roomId" : "房间ID"
|
||||
|
||||
@@ -22,6 +22,13 @@ import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
|
||||
"roomId" : "房间ID",
|
||||
"consumerId": "数据消费者ID"
|
||||
}
|
||||
{
|
||||
"roomId" : "房间ID",
|
||||
"consumerId": "数据消费者ID",
|
||||
"status" : [
|
||||
...状态信息
|
||||
]
|
||||
}
|
||||
""",
|
||||
flow = "终端=>信令服务->媒体服务"
|
||||
)
|
||||
|
||||
@@ -27,14 +27,18 @@ import lombok.extern.slf4j.Slf4j;
|
||||
@Slf4j
|
||||
@Protocol
|
||||
@Description(
|
||||
memo = "关闭通过回调实现所以不能同步响应",
|
||||
memo = "关闭通过回调实现所以不能同步响应,以下场景出现:主动断开、离开房间、信令断开",
|
||||
body = """
|
||||
{
|
||||
"roomId" : "房间ID"
|
||||
"consumerId": "数据生产者ID"
|
||||
}
|
||||
""",
|
||||
flow = "终端->信令服务->媒体服务->信令服务->终端"
|
||||
flow = {
|
||||
"媒体服务->信令服务->终端",
|
||||
"信令服务->媒体服务->信令服务->终端",
|
||||
"终端->信令服务->媒体服务->信令服务->终端"
|
||||
}
|
||||
)
|
||||
public class MediaDataProducerCloseProtocol extends ProtocolRoomAdapter implements ApplicationListener<MediaDataProducerCloseEvent> {
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter;
|
||||
}
|
||||
{
|
||||
"roomId" : "房间ID",
|
||||
"producerId": "生产者ID",
|
||||
"producerId": "数据生产者ID",
|
||||
"status" : [
|
||||
...状态信息
|
||||
]
|
||||
|
||||
@@ -27,14 +27,18 @@ import lombok.extern.slf4j.Slf4j;
|
||||
@Slf4j
|
||||
@Protocol
|
||||
@Description(
|
||||
memo = "关闭通过回调实现所以不能同步响应",
|
||||
memo = "关闭通过回调实现所以不能同步响应,以下场景出现:主动断开、离开房间、信令断开",
|
||||
body = """
|
||||
{
|
||||
"roomId" : "房间ID"
|
||||
"consumerId": "生产者ID"
|
||||
}
|
||||
""",
|
||||
flow = "终端->信令服务->媒体服务->信令服务->终端"
|
||||
flow = {
|
||||
"媒体服务->信令服务->终端",
|
||||
"信令服务->媒体服务->信令服务->终端",
|
||||
"终端->信令服务->媒体服务->信令服务->终端"
|
||||
}
|
||||
)
|
||||
public class MediaProducerCloseProtocol extends ProtocolRoomAdapter implements ApplicationListener<MediaProducerCloseEvent> {
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
@Slf4j
|
||||
@Protocol
|
||||
@Description(
|
||||
memo = "关闭通过回调实现所以不能同步响应",
|
||||
memo = "关闭通过回调实现所以不能同步响应,以下场景出现:主动断开、离开房间、信令断开",
|
||||
body = """
|
||||
{
|
||||
"roomId" : "房间ID"
|
||||
@@ -35,8 +35,9 @@ import lombok.extern.slf4j.Slf4j;
|
||||
}
|
||||
""",
|
||||
flow = {
|
||||
"终端->信令服务->媒体服务->信令服务->终端",
|
||||
"终端-[离开房间]>信令服务->媒体服务->信令服务->终端"
|
||||
"媒体服务->信令服务->终端",
|
||||
"信令服务->媒体服务->信令服务->终端",
|
||||
"终端->信令服务->媒体服务->信令服务->终端"
|
||||
}
|
||||
)
|
||||
public class MediaTransportCloseProtocol extends ProtocolRoomAdapter implements ApplicationListener<TransportCloseEvent> {
|
||||
|
||||
Reference in New Issue
Block a user