@webex/web-client-media-engine 3.28.1 → 3.28.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +25 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +25 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -10458,6 +10458,7 @@ class EventEmitter$2 extends events$1.exports.EventEmitter {
|
|
|
10458
10458
|
|
|
10459
10459
|
class IngressSdpMunger {
|
|
10460
10460
|
constructor() {
|
|
10461
|
+
this.customCodecParameters = new Map();
|
|
10461
10462
|
this.customRtxCodecParameters = new Map();
|
|
10462
10463
|
this.ssrc = generateSsrc();
|
|
10463
10464
|
}
|
|
@@ -10470,6 +10471,7 @@ class IngressSdpMunger {
|
|
|
10470
10471
|
logErrorAndThrow(exports.WcmeErrorType.SDP_MUNGE_MISSING_CODECS, `No codecs present in m-line with MID ${mediaDescription.mid} after filtering.`);
|
|
10471
10472
|
}
|
|
10472
10473
|
removeMidRidExtensions(mediaDescription);
|
|
10474
|
+
applyFormatParameters(mediaDescription, ['H264', 'opus'], this.customCodecParameters);
|
|
10473
10475
|
applyFormatParameters(mediaDescription, ['rtx'], this.customRtxCodecParameters);
|
|
10474
10476
|
if (options.twccDisabled) {
|
|
10475
10477
|
disableTwcc(mediaDescription);
|
|
@@ -10496,6 +10498,11 @@ class IngressSdpMunger {
|
|
|
10496
10498
|
});
|
|
10497
10499
|
applyFormatParameters(mediaDescription, ['rtx'], this.customRtxCodecParameters);
|
|
10498
10500
|
}
|
|
10501
|
+
setCodecParameters(parameters) {
|
|
10502
|
+
Object.entries(parameters).forEach(([param, value]) => {
|
|
10503
|
+
this.customCodecParameters.set(param, value);
|
|
10504
|
+
});
|
|
10505
|
+
}
|
|
10499
10506
|
setRtxCodecParameters(parameters) {
|
|
10500
10507
|
Object.entries(parameters).forEach(([param, value]) => {
|
|
10501
10508
|
this.customRtxCodecParameters.set(param, value);
|
|
@@ -10666,7 +10673,18 @@ class Transceiver {
|
|
|
10666
10673
|
return this._rtcRtpTransceiver.sender;
|
|
10667
10674
|
}
|
|
10668
10675
|
close() {
|
|
10669
|
-
|
|
10676
|
+
try {
|
|
10677
|
+
this._rtcRtpTransceiver.stop();
|
|
10678
|
+
}
|
|
10679
|
+
catch (error) {
|
|
10680
|
+
if (error instanceof DOMException && error.name === 'InvalidStateError') {
|
|
10681
|
+
logger.warn('Peer connection is already closed, skipping call to RTCRtpTransceiver.stop()');
|
|
10682
|
+
}
|
|
10683
|
+
else {
|
|
10684
|
+
logger.error('An unexpected error occurred while stopping the RTCRtpTransceiver:', error);
|
|
10685
|
+
throw error;
|
|
10686
|
+
}
|
|
10687
|
+
}
|
|
10670
10688
|
}
|
|
10671
10689
|
}
|
|
10672
10690
|
|
|
@@ -10757,6 +10775,9 @@ class ReceiveOnlyTransceiver extends Transceiver {
|
|
|
10757
10775
|
this.metadata.lastActiveSpeakerUpdateTimestamp = getCurrentTimestamp();
|
|
10758
10776
|
}
|
|
10759
10777
|
}
|
|
10778
|
+
setCodecParameters(parameters) {
|
|
10779
|
+
this.munger.setCodecParameters(parameters);
|
|
10780
|
+
}
|
|
10760
10781
|
setRtxCodecParameters(parameters) {
|
|
10761
10782
|
this.munger.setRtxCodecParameters(parameters);
|
|
10762
10783
|
}
|
|
@@ -15317,6 +15338,9 @@ SCTP Max Message Size: ${maxMessageSize}`);
|
|
|
15317
15338
|
munger,
|
|
15318
15339
|
});
|
|
15319
15340
|
if (getMediaFamily(mediaType) === exports.MediaFamily.Video) {
|
|
15341
|
+
recvOnlyTransceiver.setCodecParameters({
|
|
15342
|
+
'sps-pps-idr-in-keyframe': '1',
|
|
15343
|
+
});
|
|
15320
15344
|
recvOnlyTransceiver.setRtxCodecParameters({
|
|
15321
15345
|
'rtx-time': mediaType === exports.MediaType.VideoMain ? defaultVideoMainRtxTime : defaultVideoSlidesRtxTime,
|
|
15322
15346
|
});
|