@webex/web-client-media-engine 3.35.1 → 3.35.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 CHANGED
@@ -16215,6 +16215,9 @@ SCTP Max Message Size: ${maxMessageSize}`);
16215
16215
  csi: sendTransceiver.csi,
16216
16216
  }));
16217
16217
  }
16218
+ static getEncodedTransformId(mediaType, mid) {
16219
+ return `INBOUND-${mediaType}-${mid}`;
16220
+ }
16218
16221
  createReceiveTransceiver(mediaType) {
16219
16222
  const rtcRtpTransceiver = this.pc.addTransceiver(toMediaStreamTrackKind(mediaType), {
16220
16223
  direction: 'recvonly',
@@ -16229,20 +16232,19 @@ SCTP Max Message Size: ${maxMessageSize}`);
16229
16232
  munger,
16230
16233
  });
16231
16234
  if (doAudioLevelMonitoring) {
16232
- const encodedTransformId = `INBOUND-${mediaType}-${mid}`;
16233
16235
  try {
16234
- this.setupEncodedTransform(rtcRtpTransceiver.receiver, encodedTransformId, EncodedTransformType.AudioLevelMonitor);
16236
+ this.setupEncodedTransform(rtcRtpTransceiver.receiver, MultistreamConnection.getEncodedTransformId(mediaType, recvOnlyTransceiver.mid), EncodedTransformType.AudioLevelMonitor);
16235
16237
  recvOnlyTransceiver.setEncodedStreamMetadataCallback(() => __awaiter(this, void 0, void 0, function* () {
16236
16238
  return getWorkerManager().sendRequestToWorker({
16237
16239
  type: MainMsgType.GetMetadata,
16238
16240
  mediaType,
16239
- encodedTransformId,
16241
+ encodedTransformId: MultistreamConnection.getEncodedTransformId(mediaType, recvOnlyTransceiver.mid),
16240
16242
  multistreamConnectionId: this.id,
16241
16243
  });
16242
16244
  }));
16243
16245
  }
16244
16246
  catch (e) {
16245
- logger.warn(`Failed to setup encoded transform for ${encodedTransformId} audio level monitoring: ${e}`);
16247
+ logger.warn(`Failed to setup encoded transform for audio level monitoring of mid=${mid}: ${e}`);
16246
16248
  }
16247
16249
  }
16248
16250
  if (getMediaFamily(mediaType) === exports.MediaFamily.Video) {
@@ -16625,6 +16627,12 @@ SCTP Max Message Size: ${maxMessageSize}`);
16625
16627
  var _a;
16626
16628
  return __awaiter(this, void 0, void 0, function* () {
16627
16629
  (_a = this.pc) === null || _a === void 0 ? void 0 : _a.close();
16630
+ if (getWorkerManager().getWorker()) {
16631
+ yield getWorkerManager().sendRequestToWorker({
16632
+ type: MainMsgType.ClearMetadata,
16633
+ multistreamConnectionId: this.id,
16634
+ });
16635
+ }
16628
16636
  try {
16629
16637
  if (userOptions) {
16630
16638
  this.options = Object.assign(Object.assign({}, this.options), (yield userOptions));
@@ -16658,10 +16666,14 @@ SCTP Max Message Size: ${maxMessageSize}`);
16658
16666
  this.recvTransceivers.forEach((transceivers, mediaType) => {
16659
16667
  transceivers.forEach((t) => {
16660
16668
  const mid = this.midPredictor.getNextMid(mediaType);
16661
- t.replaceTransceiver(this.pc.addTransceiver(toMediaStreamTrackKind(mediaType), {
16669
+ const rtcRtpTransceiver = this.pc.addTransceiver(toMediaStreamTrackKind(mediaType), {
16662
16670
  direction: 'recvonly',
16663
- }));
16671
+ });
16672
+ t.replaceTransceiver(rtcRtpTransceiver);
16664
16673
  t.mid = mid;
16674
+ if (this.options.enableInboundAudioLevelMonitoring && mediaType === exports.MediaType.AudioMain) {
16675
+ this.setupEncodedTransform(rtcRtpTransceiver.receiver, MultistreamConnection.getEncodedTransformId(mediaType, mid), EncodedTransformType.AudioLevelMonitor);
16676
+ }
16665
16677
  });
16666
16678
  });
16667
16679
  });