From a02205783224ebba1db0b4bdbc48145f046cfb57 Mon Sep 17 00:00:00 2001 From: Miroslav Pejic Date: Wed, 26 Jan 2022 18:03:33 +0100 Subject: [PATCH] [mirotalksfu] - update dependencies --- package.json | 2 +- public/sfu/MediasoupClient.js | 42 +++++++++++++++++++++-------------- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index d6c29263..f44a637c 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "express": "4.17.2", "httpolyglot": "0.1.2", "mediasoup": "3.9.5", - "mediasoup-client": "3.6.49", + "mediasoup-client": "3.6.50", "ngrok": "4.3.0", "socket.io": "4.4.1", "swagger-ui-express": "4.3.0", diff --git a/public/sfu/MediasoupClient.js b/public/sfu/MediasoupClient.js index ae25f217..8ebc5858 100644 --- a/public/sfu/MediasoupClient.js +++ b/public/sfu/MediasoupClient.js @@ -6523,10 +6523,12 @@ var _a; this._assertRecvDirection(); const results = []; + const mapLocalId = new Map(); for (const options of optionsList) { const { trackId, kind, rtpParameters } = options; logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind); const localId = rtpParameters.mid || String(this._mapMidTransceiver.size); + mapLocalId.set(trackId, localId); this._remoteSdp.receive({ mid: localId, kind, @@ -6541,8 +6543,8 @@ let answer = await this._pc.createAnswer(); const localSdpObject = sdpTransform.parse(answer.sdp); for (const options of optionsList) { - const { rtpParameters } = options; - const localId = rtpParameters.mid || String(this._mapMidTransceiver.size); + const { trackId, rtpParameters } = options; + const localId = mapLocalId.get(trackId); const answerMediaObject = localSdpObject.media.find((m) => String(m.mid) === localId); // May need to modify codec parameters in the answer based on codec // parameters in the offer. @@ -6562,8 +6564,8 @@ logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer); await this._pc.setLocalDescription(answer); for (const options of optionsList) { - const { rtpParameters } = options; - const localId = rtpParameters.mid || String(this._mapMidTransceiver.size); + const { trackId } = options; + const localId = mapLocalId.get(trackId); const transceiver = this._pc.getTransceivers().find((t) => t.mid === localId); if (!transceiver) throw new Error('new RTCRtpTransceiver not found'); // Store in the map. @@ -7110,10 +7112,12 @@ var _a; this._assertRecvDirection(); const results = []; + const mapLocalId = new Map(); for (const options of optionsList) { const { trackId, kind, rtpParameters } = options; logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind); const localId = rtpParameters.mid || String(this._mapMidTransceiver.size); + mapLocalId.set(trackId, localId); this._remoteSdp.receive({ mid: localId, kind, @@ -7128,8 +7132,8 @@ let answer = await this._pc.createAnswer(); const localSdpObject = sdpTransform.parse(answer.sdp); for (const options of optionsList) { - const { rtpParameters } = options; - const localId = rtpParameters.mid || String(this._mapMidTransceiver.size); + const { trackId, rtpParameters } = options; + const localId = mapLocalId.get(trackId); const answerMediaObject = localSdpObject.media.find((m) => String(m.mid) === localId); // May need to modify codec parameters in the answer based on codec // parameters in the offer. @@ -7149,8 +7153,8 @@ logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer); await this._pc.setLocalDescription(answer); for (const options of optionsList) { - const { rtpParameters } = options; - const localId = rtpParameters.mid || String(this._mapMidTransceiver.size); + const { trackId } = options; + const localId = mapLocalId.get(trackId); const transceiver = this._pc.getTransceivers().find((t) => t.mid === localId); if (!transceiver) { throw new Error('new RTCRtpTransceiver not found'); @@ -8155,10 +8159,12 @@ ) { this._assertRecvDirection(); const results = []; + const mapLocalId = new Map(); for (const options of optionsList) { const { trackId, kind, rtpParameters } = options; logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind); const localId = rtpParameters.mid || String(this._mapMidTransceiver.size); + mapLocalId.set(trackId, localId); this._remoteSdp.receive({ mid: localId, kind, @@ -8173,8 +8179,8 @@ let answer = await this._pc.createAnswer(); const localSdpObject = sdpTransform.parse(answer.sdp); for (const options of optionsList) { - const { rtpParameters } = options; - const localId = rtpParameters.mid || String(this._mapMidTransceiver.size); + const { trackId, rtpParameters } = options; + const localId = mapLocalId.get(trackId); const answerMediaObject = localSdpObject.media.find((m) => String(m.mid) === localId); // May need to modify codec parameters in the answer based on codec // parameters in the offer. @@ -8189,8 +8195,8 @@ logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer); await this._pc.setLocalDescription(answer); for (const options of optionsList) { - const { rtpParameters } = options; - const localId = rtpParameters.mid || String(this._mapMidTransceiver.size); + const { trackId } = options; + const localId = mapLocalId.get(trackId); const transceiver = this._pc.getTransceivers().find((t) => t.mid === localId); if (!transceiver) throw new Error('new RTCRtpTransceiver not found'); // Store in the map. @@ -9887,10 +9893,12 @@ var _a; this._assertRecvDirection(); const results = []; + const mapLocalId = new Map(); for (const options of optionsList) { const { trackId, kind, rtpParameters } = options; logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind); const localId = rtpParameters.mid || String(this._mapMidTransceiver.size); + mapLocalId.set(trackId, localId); this._remoteSdp.receive({ mid: localId, kind, @@ -9905,8 +9913,8 @@ let answer = await this._pc.createAnswer(); const localSdpObject = sdpTransform.parse(answer.sdp); for (const options of optionsList) { - const { rtpParameters } = options; - const localId = rtpParameters.mid || String(this._mapMidTransceiver.size); + const { trackId, rtpParameters } = options; + const localId = mapLocalId.get(trackId); const answerMediaObject = localSdpObject.media.find((m) => String(m.mid) === localId); // May need to modify codec parameters in the answer based on codec // parameters in the offer. @@ -9926,8 +9934,8 @@ logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer); await this._pc.setLocalDescription(answer); for (const options of optionsList) { - const { rtpParameters } = options; - const localId = rtpParameters.mid || String(this._mapMidTransceiver.size); + const { trackId } = options; + const localId = mapLocalId.get(trackId); const transceiver = this._pc.getTransceivers().find((t) => t.mid === localId); if (!transceiver) throw new Error('new RTCRtpTransceiver not found'); // Store in the map. @@ -11541,7 +11549,7 @@ /** * Expose mediasoup-client version. */ - exports.version = '3.6.49'; + exports.version = '3.6.50'; /** * Expose parseScalabilityMode() function. */