From 968ca95ab4eae0c5fe6e820dc1087763b713910a Mon Sep 17 00:00:00 2001 From: Miroslav Pejic Date: Mon, 23 Dec 2024 23:43:15 +0100 Subject: [PATCH] [mirotalksfu] - add some logs and comments --- app/src/Peer.js | 16 +++++++++++----- app/src/Room.js | 12 ++++++++++++ app/src/Server.js | 2 +- app/src/config.template.js | 1 + package.json | 2 +- public/js/Room.js | 4 ++-- public/js/RoomClient.js | 4 ++-- 7 files changed, 30 insertions(+), 11 deletions(-) diff --git a/app/src/Peer.js b/app/src/Peer.js index 2ae4a842..c3066d92 100644 --- a/app/src/Peer.js +++ b/app/src/Peer.js @@ -200,11 +200,11 @@ module.exports = class Peer { temporalLayer, }); } else { - log.debug('Producer ----->', { type: type, kind: kind }); + log.debug('Producer ----->', { type, kind }); } producer.on('transportclose', () => { - log.debug('Producer "transportclose" event'); + log.debug('Producer "transportclose" event', { producerId: id }); this.closeProducer(id); }); @@ -281,6 +281,7 @@ module.exports = class Peer { const { scalabilityMode } = rtpParameters.encodings[0]; const spatialLayer = parseInt(scalabilityMode.substring(1, 2)); // 1/2/3 const temporalLayer = parseInt(scalabilityMode.substring(3, 4)); // 1/2/3 + try { await consumer.setPreferredLayers({ spatialLayer: spatialLayer, @@ -291,13 +292,18 @@ module.exports = class Peer { spatialLayer, temporalLayer, }); - } catch (error) {} + } catch (error) { + log.error('Failed to set preferred layers', { + consumerId: id, + error, + }); + } } else { - log.debug('Consumer ----->', { type: type, kind: kind }); + log.debug('Consumer ----->', { type, kind }); } consumer.on('transportclose', () => { - log.debug('Consumer "transportclose" event'); + log.debug('Consumer "transportclose" event', { consumerId: id }); this.removeConsumer(id); }); diff --git a/app/src/Room.js b/app/src/Room.js index cc028f23..c872f3f3 100644 --- a/app/src/Room.js +++ b/app/src/Room.js @@ -574,6 +574,18 @@ module.exports = class Room { const { peer_name } = peer; + transport.observer.on('newproducer', (producer) => { + log.debug('---> new producer created [id:%s]', producer.id); + }); + + transport.observer.on('newconsumer', (consumer) => { + log.debug('---> new consumer created [id:%s]', consumer.id); + }); + + transport.observer.on('close', () => { + log.debug('---> transport close [id:%s]', transport.id); + }); + transport.on('icestatechange', (iceState) => { if (iceState === 'disconnected' || iceState === 'closed') { log.debug('Transport closed "icestatechange" event', { diff --git a/app/src/Server.js b/app/src/Server.js index 5435ffb7..fb37e2c7 100644 --- a/app/src/Server.js +++ b/app/src/Server.js @@ -55,7 +55,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.6.62 + * @version 1.6.63 * */ diff --git a/app/src/config.template.js b/app/src/config.template.js index 7b35f818..4b2a3386 100644 --- a/app/src/config.template.js +++ b/app/src/config.template.js @@ -401,6 +401,7 @@ module.exports = { ui: { /* Customize your MiroTalk instance + Branding and customizations require a license: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970 */ brand: { app: { diff --git a/package.json b/package.json index b321b05b..8f53bceb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mirotalksfu", - "version": "1.6.62", + "version": "1.6.63", "description": "WebRTC SFU browser-based video calls", "main": "Server.js", "scripts": { diff --git a/public/js/Room.js b/public/js/Room.js index f140f871..7cbe6959 100644 --- a/public/js/Room.js +++ b/public/js/Room.js @@ -11,7 +11,7 @@ if (location.href.substr(0, 5) !== 'https') location.href = 'https' + location.h * @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.6.62 + * @version 1.6.63 * */ @@ -4618,7 +4618,7 @@ function showAbout() { imageUrl: image.about, customClass: { image: 'img-about' }, position: 'center', - title: 'WebRTC SFU v1.6.62', + title: 'WebRTC SFU v1.6.63', html: `
diff --git a/public/js/RoomClient.js b/public/js/RoomClient.js index 12a55b18..55fd6a7f 100644 --- a/public/js/RoomClient.js +++ b/public/js/RoomClient.js @@ -9,7 +9,7 @@ * @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.6.62 + * @version 1.6.63 * */ @@ -2230,7 +2230,7 @@ class RoomClient { this.closeProducer(mediaType.audioTab); }); } catch (err) { - console.error('Produce error:', err); + console.error('Produce Screen Audio error:', err); } }