diff --git a/app/src/Peer.js b/app/src/Peer.js index bec8f8f6..d1b574fb 100644 --- a/app/src/Peer.js +++ b/app/src/Peer.js @@ -170,7 +170,11 @@ module.exports = class Peer { throw new Error(`Producer transport with ID ${producerTransportId} not found`); } - const producerTransport = this.transports.get(producerTransportId); + const producerTransport = this.getTransport(producerTransportId); + + if (!producerTransport) { + throw new Error(`Consumer transport with ID ${producerTransportId} not found for peer ${this.peer_name}`); + } let producer; try { @@ -281,7 +285,11 @@ module.exports = class Peer { throw new Error(`Consumer transport with ID ${consumer_transport_id} not found`); } - const consumerTransport = this.transports.get(consumer_transport_id); + const consumerTransport = this.getTransport(consumer_transport_id); + + if (!consumerTransport) { + throw new Error(`Consumer transport with ID ${consumer_transport_id} not found for peer ${this.peer_name}`); + } let consumer; try { diff --git a/app/src/Room.js b/app/src/Room.js index 8e822e83..bfd6898e 100644 --- a/app/src/Room.js +++ b/app/src/Room.js @@ -799,6 +799,12 @@ module.exports = class Room { const { id } = peerProducer; + const producerTransport = peer.getTransport(producerTransportId); + + if (!producerTransport) { + throw new Error(`Producer transport with ID ${producerTransportId} not found for peer ${peer_name}`); + } + this.broadCast(socket_id, 'newProducers', [ { producer_id: id, @@ -810,10 +816,12 @@ module.exports = class Room { ]); log.debug('Producer created successfully', { + producerTransportId, producer_id: id, peer_name: peer.peer_name, kind, type, + transport_state: `ICE:${producerTransport.iceState}, DTLS:${producerTransport.dtlsState}`, }); return id; @@ -875,6 +883,12 @@ module.exports = class Room { ); } + const consumerTransport = peer.getTransport(consumer_transport_id); + + if (!consumerTransport) { + throw new Error(`Consumer transport with ID ${consumer_transport_id} not found for peer ${peer_name}`); + } + const { consumer, params } = peerConsumer; const { id, kind } = consumer; @@ -895,11 +909,13 @@ module.exports = class Room { }); log.debug('Consumer created successfully', { + consumer_transport_id, consumer_id: id, producer_id: producerId, peer_name, kind, type, + transport_state: `ICE:${consumerTransport.iceState}, DTLS:${consumerTransport.dtlsState}`, }); return params; diff --git a/app/src/Server.js b/app/src/Server.js index 6eb96f9a..fe8f3553 100644 --- a/app/src/Server.js +++ b/app/src/Server.js @@ -64,7 +64,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.8.70 + * @version 1.8.71 * */ diff --git a/package.json b/package.json index ea32de67..b9f8a6ba 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mirotalksfu", - "version": "1.8.70", + "version": "1.8.71", "description": "WebRTC SFU browser-based video calls", "main": "Server.js", "scripts": { diff --git a/public/js/Brand.js b/public/js/Brand.js index 2dff6090..27914fc0 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.8.70', + title: 'WebRTC SFU v1.8.71', html: `