@webex/web-client-media-engine 3.14.1 → 3.15.1
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 +49 -20
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +49 -20
- package/dist/esm/index.js.map +1 -1
- package/dist/types/index.d.ts +4 -1
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -7145,6 +7145,7 @@ var WcmeErrorType;
|
|
|
7145
7145
|
WcmeErrorType["GET_MAX_BITRATE_FAILED"] = "GET_MAX_BITRATE_FAILED";
|
|
7146
7146
|
WcmeErrorType["GET_PAYLOAD_TYPE_FAILED"] = "GET_PAYLOAD_TYPE_FAILED";
|
|
7147
7147
|
WcmeErrorType["SET_NMG_FAILED"] = "SET_NMG_FAILED";
|
|
7148
|
+
WcmeErrorType["DATA_CHANNEL_SEND_FAILED"] = "DATA_CHANNEL_SEND_FAILED";
|
|
7148
7149
|
})(WcmeErrorType || (WcmeErrorType = {}));
|
|
7149
7150
|
class WcmeError {
|
|
7150
7151
|
constructor(type, message = '') {
|
|
@@ -14312,10 +14313,6 @@ class SendOnlyTransceiver extends Transceiver {
|
|
|
14312
14313
|
updateSendParameters(requestedIdEncodingParamsMap) {
|
|
14313
14314
|
return __awaiter$1(this, void 0, void 0, function* () {
|
|
14314
14315
|
return this.updateSendParametersQueue.push(() => __awaiter$1(this, void 0, void 0, function* () {
|
|
14315
|
-
const requested = requestedIdEncodingParamsMap.size > 0;
|
|
14316
|
-
if (this.requested !== requested) {
|
|
14317
|
-
yield this.replaceSenderSource(requested ? this.publishedStream : null);
|
|
14318
|
-
}
|
|
14319
14316
|
const sendParameters = this.sender.getParameters();
|
|
14320
14317
|
sendParameters.encodings.forEach((encoding, index) => {
|
|
14321
14318
|
var _a, _b;
|
|
@@ -14333,7 +14330,12 @@ class SendOnlyTransceiver extends Transceiver {
|
|
|
14333
14330
|
}
|
|
14334
14331
|
});
|
|
14335
14332
|
yield this.sender.setParameters(sendParameters);
|
|
14333
|
+
const oldRequested = this.requested;
|
|
14334
|
+
const newRequested = requestedIdEncodingParamsMap.size > 0;
|
|
14336
14335
|
this.requestedIdEncodingParamsMap = requestedIdEncodingParamsMap;
|
|
14336
|
+
if (oldRequested !== newRequested) {
|
|
14337
|
+
yield this.replaceSenderSource(newRequested ? this.publishedStream : null);
|
|
14338
|
+
}
|
|
14337
14339
|
}));
|
|
14338
14340
|
});
|
|
14339
14341
|
}
|
|
@@ -14688,8 +14690,21 @@ class MultistreamConnection extends EventEmitter$2 {
|
|
|
14688
14690
|
logger.error(`DataChannel not created or not connected. Unable to send JMP message.`);
|
|
14689
14691
|
return;
|
|
14690
14692
|
}
|
|
14691
|
-
|
|
14692
|
-
|
|
14693
|
+
try {
|
|
14694
|
+
logger.info(`Sending JMP message (size: ${msg.length}): ${msg}`);
|
|
14695
|
+
this.dataChannel.send(msg);
|
|
14696
|
+
}
|
|
14697
|
+
catch (err) {
|
|
14698
|
+
const { bufferedAmount, readyState } = this.dataChannel;
|
|
14699
|
+
const { sctp } = this.pc.getUnderlyingRTCPeerConnection();
|
|
14700
|
+
const { maxMessageSize, state } = sctp || {};
|
|
14701
|
+
logErrorAndThrow(WcmeErrorType.DATA_CHANNEL_SEND_FAILED, `Sending JMP message failed with error: ${err},
|
|
14702
|
+
Message size: ${msg.length},
|
|
14703
|
+
Data Channel State: ${readyState},
|
|
14704
|
+
Data Channel Buffered amount: ${bufferedAmount},
|
|
14705
|
+
SCTP State: ${state},
|
|
14706
|
+
SCTP Max Message Size: ${maxMessageSize}`);
|
|
14707
|
+
}
|
|
14693
14708
|
});
|
|
14694
14709
|
let prevNumTotalSources = 0;
|
|
14695
14710
|
let prevNumLiveSources = 0;
|
|
@@ -14907,26 +14922,40 @@ class MultistreamConnection extends EventEmitter$2 {
|
|
|
14907
14922
|
return { id, state, csi: sendTransceiver.csi };
|
|
14908
14923
|
});
|
|
14909
14924
|
}
|
|
14925
|
+
createReceiveTransceiver(mediaType) {
|
|
14926
|
+
const rtcRtpTransceiver = this.pc.addTransceiver(toMediaStreamTrackKind(mediaType), {
|
|
14927
|
+
direction: 'recvonly',
|
|
14928
|
+
});
|
|
14929
|
+
const transceiverMid = this.midPredictor.getNextMid(mediaType);
|
|
14930
|
+
const munger = new IngressSdpMunger();
|
|
14931
|
+
const recvOnlyTransceiver = new ReceiveOnlyTransceiver(rtcRtpTransceiver, transceiverMid, munger);
|
|
14932
|
+
recvOnlyTransceiver.twccDisabled =
|
|
14933
|
+
getMediaFamily(mediaType) === MediaFamily.Audio ? this.options.disableAudioTwcc : false;
|
|
14934
|
+
this.recvTransceivers.set(mediaType, [
|
|
14935
|
+
...(this.recvTransceivers.get(mediaType) || []),
|
|
14936
|
+
recvOnlyTransceiver,
|
|
14937
|
+
]);
|
|
14938
|
+
return recvOnlyTransceiver;
|
|
14939
|
+
}
|
|
14910
14940
|
createReceiveSlot(mediaType) {
|
|
14911
14941
|
return __awaiter$1(this, void 0, void 0, function* () {
|
|
14912
|
-
return
|
|
14942
|
+
return (yield this.createReceiveSlots(mediaType, 1))[0];
|
|
14943
|
+
});
|
|
14944
|
+
}
|
|
14945
|
+
createReceiveSlots(mediaType, count = 1) {
|
|
14946
|
+
return __awaiter$1(this, void 0, void 0, function* () {
|
|
14947
|
+
return new Promise((createReceiveSlotsResolve) => {
|
|
14913
14948
|
this.offerAnswerQueue.push(() => __awaiter$1(this, void 0, void 0, function* () {
|
|
14914
|
-
const
|
|
14915
|
-
|
|
14916
|
-
|
|
14917
|
-
|
|
14918
|
-
|
|
14919
|
-
const recvOnlyTransceiver = new ReceiveOnlyTransceiver(rtcRtpTransceiver, transceiverMid, munger);
|
|
14920
|
-
recvOnlyTransceiver.twccDisabled =
|
|
14921
|
-
getMediaFamily(mediaType) === MediaFamily.Audio ? this.options.disableAudioTwcc : false;
|
|
14922
|
-
this.recvTransceivers.set(mediaType, [
|
|
14923
|
-
...(this.recvTransceivers.get(mediaType) || []),
|
|
14924
|
-
recvOnlyTransceiver,
|
|
14925
|
-
]);
|
|
14949
|
+
const createdReceiveOnlyTransceivers = [];
|
|
14950
|
+
for (let i = 0; i < count; i++) {
|
|
14951
|
+
const recvOnlyTransceiver = this.createReceiveTransceiver(mediaType);
|
|
14952
|
+
createdReceiveOnlyTransceivers.push(recvOnlyTransceiver);
|
|
14953
|
+
}
|
|
14926
14954
|
if (this.pc.getRemoteDescription()) {
|
|
14927
14955
|
yield this.doLocalOfferAnswer();
|
|
14928
14956
|
}
|
|
14929
|
-
|
|
14957
|
+
const receiveSlots = createdReceiveOnlyTransceivers.map((transceiver) => transceiver.receiveSlot);
|
|
14958
|
+
createReceiveSlotsResolve(receiveSlots);
|
|
14930
14959
|
}));
|
|
14931
14960
|
});
|
|
14932
14961
|
});
|