From 833fc34b08283ee61b378b9130429888f411b0c7 Mon Sep 17 00:00:00 2001 From: acgist <289547414@qq.com> Date: Sat, 16 Sep 2023 09:37:30 +0800 Subject: [PATCH] =?UTF-8?q?[*]=20=E6=97=A5=E5=B8=B8=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- taoyao-client-media/src/Taoyao.js | 23 ++++++++--------- taoyao-client-web/src/components/Taoyao.js | 25 +++++++++---------- .../MediaDataProducerStatusProtocol.java | 7 ++++++ 3 files changed, 30 insertions(+), 25 deletions(-) diff --git a/taoyao-client-media/src/Taoyao.js b/taoyao-client-media/src/Taoyao.js index 9fdeb0c..a6bdaf6 100644 --- a/taoyao-client-media/src/Taoyao.js +++ b/taoyao-client-media/src/Taoyao.js @@ -1333,23 +1333,22 @@ class Taoyao { * @param {*} body 消息主体 */ async mediaDataProducerStatus(message, body) { - const me = this; const { roomId, producerId, } = body; - const room = me.rooms.get(roomId); + const room = this.rooms.get(roomId); const dataProducer = room?.dataProducers.get(producerId); - if(dataProducer) { - console.debug("查询数据生产者状态", producerId); - message.body = { - ...body, - status: await dataProducer.getStats() - }; - me.push(message); - } else { - console.debug("查询数据生产者状态(无效)", producerId); + if(!dataProducer) { + console.warn("查询数据生产者状态(数据生产者无效)", roomId, producerId); + return; } + console.debug("查询数据生产者状态", producerId); + message.body = { + ...body, + status: await dataProducer.getStats() + }; + this.push(message); } /** @@ -1366,7 +1365,7 @@ class Taoyao { const room = this.rooms.get(roomId); const transport = room?.transports.get(transportId); if(!transport) { - console.warn("重启ICE(无效通道)", transportId); + console.warn("重启ICE(通道无效)", roomId, transportId); return; } console.debug("重启ICE", transportId); diff --git a/taoyao-client-web/src/components/Taoyao.js b/taoyao-client-web/src/components/Taoyao.js index 3e60b46..47f5197 100644 --- a/taoyao-client-web/src/components/Taoyao.js +++ b/taoyao-client-web/src/components/Taoyao.js @@ -1787,19 +1787,6 @@ class Taoyao extends RemoteClient { } } - /** - * 查询数据生产者状态信令 - * - * @param {*} producerId 生产者ID - */ - async mediaDataProducerStatus(producerId) { - const me = this; - return await me.request(protocol.buildMessage("media::data::producer::status", { - roomId: me.roomId, - producerId - })); - } - /** * 消费媒体信令 * @@ -2056,6 +2043,18 @@ class Taoyao extends RemoteClient { this.mediaDataProducerClose(this.dataProducer?.id); } + /** + * 查询数据生产者状态信令 + * + * @param {*} producerId 生产者ID + */ + async mediaDataProducerStatus(producerId) { + return await this.request(protocol.buildMessage("media::data::producer::status", { + producerId, + roomId: this.roomId, + })); + } + /** * 重启ICE信令 */ diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataProducerStatusProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataProducerStatusProtocol.java index 90f9fae..da57826 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataProducerStatusProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaDataProducerStatusProtocol.java @@ -22,6 +22,13 @@ import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter; "roomId" : "房间ID", "producerId": "数据生产者ID" } + { + "roomId" : "房间ID", + "producerId": "生产者ID", + "status" : [ + ...状态信息 + ] + } """, flow = "终端=>信令服务->媒体服务" )