[*] 日常优化

This commit is contained in:
acgist
2023-09-18 07:42:28 +08:00
parent b86da9fc6a
commit 63c45bc717
3 changed files with 20 additions and 38 deletions

View File

@@ -1254,11 +1254,10 @@ class Taoyao {
/** /**
* 生产数据信令 * 生产数据信令
* *
* @param {*} message 消息 * @param {*} message 信令消息
* @param {*} body 消息主体 * @param {*} body 消息主体
*/ */
async mediaDataProduce(message, body) { async mediaDataProduce(message, body) {
const me = this;
const { const {
label, label,
roomId, roomId,
@@ -1269,10 +1268,10 @@ class Taoyao {
transportId, transportId,
sctpStreamParameters, sctpStreamParameters,
} = body; } = body;
const room = me.rooms.get(roomId); const room = this.rooms.get(roomId);
const transport = room?.transports.get(transportId); const transport = room?.transports.get(transportId);
if(!transport) { if(!transport) {
console.warn("生产数据通道无效", roomId, transportId); console.warn("生产数据通道(通道无效", roomId, transportId);
return; return;
} }
const dataProducer = await transport.produceData({ const dataProducer = await transport.produceData({
@@ -1284,27 +1283,27 @@ class Taoyao {
dataProducer.clientId = clientId; dataProducer.clientId = clientId;
dataProducer.streamId = streamId; dataProducer.streamId = streamId;
room.dataProducers.set(dataProducer.id, dataProducer); room.dataProducers.set(dataProducer.id, dataProducer);
console.info("创建数据生产者", dataProducer.id, streamId); console.debug("创建数据生产者", dataProducer.id, streamId);
dataProducer.on("transportclose", () => { dataProducer.on("transportclose", () => {
console.info("数据生产者关闭(通道关闭)", dataProducer.id, streamId); console.debug("数据生产者关闭(通道关闭)", dataProducer.id, streamId);
dataProducer.close(); dataProducer.close();
}); });
dataProducer.observer.on("close", () => { dataProducer.observer.on("close", () => {
if(room.dataProducers.delete(dataProducer.id)) { if(room.dataProducers.delete(dataProducer.id)) {
console.info("数据生产者关闭", dataProducer.id, streamId); console.debug("数据生产者关闭", dataProducer.id, streamId);
me.push(taoyaoProtocol.buildMessage("media::data::producer::close", { this.push(taoyaoProtocol.buildMessage("media::data::producer::close", {
roomId : roomId, roomId,
producerId: dataProducer.id, producerId: dataProducer.id,
})); }));
} else { } else {
console.debug("数据生产者关闭(无效)", dataProducer.id, streamId); console.debug("数据生产者关闭(数据生产者无效)", dataProducer.id, streamId);
} }
}) })
message.body = { message.body = {
roomId : roomId, roomId,
producerId: dataProducer.id producerId: dataProducer.id
}; };
me.push(message); this.push(message);
} }
/** /**

View File

@@ -1935,27 +1935,6 @@ class Taoyao extends RemoteClient {
} }
} }
/**
* 通过数据消费者发送数据
*
* @param {*} data 数据
* @param {*} consumerId 数据消费者ID
*/
async sendDataConsumer(data, consumerId) {
const me = this;
if(consumerId) {
if(me.dataConsumers.has(consumerId)) {
me.dataConsumers.get(consumerId)?.send(data);
} else {
console.warn("数据消费者无效", consumerId);
}
} else {
me.dataConsumers.forEach(dataConsumer => {
dataConsumer.send(data);
})
}
}
/** /**
* 生产数据 * 生产数据
*/ */

View File

@@ -30,6 +30,10 @@ import lombok.extern.slf4j.Slf4j;
"roomId" : "房间标识", "roomId" : "房间标识",
"transportId": "通道标识" "transportId": "通道标识"
} }
{
"roomId" : "房间ID",
"producerId": "生产者ID",
}
""" """
}, },
flow = "终端=>信令服务->媒体服务" flow = "终端=>信令服务->媒体服务"