From c408cf782dd5c25ca4e6c0c1fb566a1d4d3b8c69 Mon Sep 17 00:00:00 2001 From: Miroslav Pejic Date: Sat, 8 Mar 2025 07:52:17 +0100 Subject: [PATCH] [mirotalksfu] - improvements --- app/src/Room.js | 29 ++++++++++++++++++----------- app/src/Server.js | 2 +- package.json | 2 +- public/js/Brand.js | 2 +- public/js/Room.js | 4 ++-- public/js/RoomClient.js | 4 ++-- 6 files changed, 25 insertions(+), 18 deletions(-) diff --git a/app/src/Room.js b/app/src/Room.js index 17ea9cc7..40c6c225 100644 --- a/app/src/Room.js +++ b/app/src/Room.js @@ -668,24 +668,27 @@ module.exports = class Room { const peer = this.getPeer(socket_id); + const { peer_name, peer_info } = peer; + let peerProducer; + try { peerProducer = await peer.createProducer(producerTransportId, rtpParameters, kind, type); } catch (error) { - log.error(`Error creating producer for peer with socket ID ${socket_id}`, error); + log.error(`Error creating producer for peer ${peer_name} with socket ID ${socket_id}`, error); throw new Error( - `Error creating producer with transport ID ${producerTransportId} type ${type} for peer ${socket_id}`, + `Error creating producer for peer ${peer_name} with transport ID ${producerTransportId} type ${type} for peer ${socket_id}`, ); } if (!peerProducer) { - throw new Error(`Failed to create producer with ID ${producerTransportId} for peer ${socket_id}`); + throw new Error( + `Failed to create producer for peer ${peer_name} with ID ${producerTransportId} for peer ${socket_id}`, + ); } const { id } = peerProducer; - const { peer_name, peer_info } = peer; - this.broadCast(socket_id, 'newProducers', [ { producer_id: id, @@ -723,25 +726,29 @@ module.exports = class Room { throw new Error(`Peer with socket ID ${socket_id} not found in the room`); } - if (!this.router.canConsume({ producerId, rtpCapabilities })) { - throw new Error(`Cannot consume producer with ID ${producerId} type ${type}, router validation failed`); - } - const peer = this.getPeer(socket_id); + const { peer_name } = peer; + + if (!this.router.canConsume({ producerId, rtpCapabilities })) { + throw new Error( + `Cannot consume producer for peer ${peer_name} with ID ${producerId} type ${type}, router validation failed`, + ); + } + let peerConsumer; try { peerConsumer = await peer.createConsumer(consumer_transport_id, producerId, rtpCapabilities); } catch (error) { log.error(`Error creating consumer for peer with socket ID ${socket_id}`, error); throw new Error( - `Failed to create consumer with transport ID ${consumer_transport_id} and producer ID ${producerId} type ${type} for peer ${socket_id}`, + `Failed to create consumer for peer ${peer_name} with transport ID ${consumer_transport_id} and producer ID ${producerId} type ${type} for peer ${socket_id}`, ); } if (!peerConsumer) { throw new Error( - `Consumer creation failed for transport ID ${consumer_transport_id} and producer ID ${producerId}`, + `Consumer creation failed for peer ${peer_name} with transport ID ${consumer_transport_id} and producer ID ${producerId}`, ); } diff --git a/app/src/Server.js b/app/src/Server.js index 88f22bf6..03b7fd07 100644 --- a/app/src/Server.js +++ b/app/src/Server.js @@ -58,7 +58,7 @@ dev dependencies: { * @license For commercial or closed source, contact us at license.mirotalk@gmail.com or purchase directly via CodeCanyon * @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970 * @author Miroslav Pejic - miroslav.pejic.85@gmail.com - * @version 1.7.71 + * @version 1.7.72 * */ diff --git a/package.json b/package.json index e90dc79d..49dc9404 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mirotalksfu", - "version": "1.7.71", + "version": "1.7.72", "description": "WebRTC SFU browser-based video calls", "main": "Server.js", "scripts": { diff --git a/public/js/Brand.js b/public/js/Brand.js index c94615f2..14689678 100644 --- a/public/js/Brand.js +++ b/public/js/Brand.js @@ -64,7 +64,7 @@ let BRAND = { }, about: { imageUrl: '../images/mirotalk-logo.gif', - title: 'WebRTC SFU v1.7.71', + title: 'WebRTC SFU v1.7.72', html: `