@webex/web-client-media-engine 1.37.2 → 1.37.4

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/esm/index.js CHANGED
@@ -8887,6 +8887,18 @@ class SendOnlyTransceiver extends Transceiver {
8887
8887
  }
8888
8888
  });
8889
8889
  }
8890
+ replaceTransceiver(newRtcRtpTransceiver) {
8891
+ const _super = Object.create(null, {
8892
+ replaceTransceiver: { get: () => super.replaceTransceiver }
8893
+ });
8894
+ var _a;
8895
+ return __awaiter(this, void 0, void 0, function* () {
8896
+ _super.replaceTransceiver.call(this, newRtcRtpTransceiver);
8897
+ if (this.requested) {
8898
+ yield this.sender.replaceTrack(((_a = this.publishedTrack) === null || _a === void 0 ? void 0 : _a.underlyingTrack) || null);
8899
+ }
8900
+ });
8901
+ }
8890
8902
  replacePublishedTrack(newTrack) {
8891
8903
  var _a, _b;
8892
8904
  return __awaiter(this, void 0, void 0, function* () {
@@ -9565,7 +9577,7 @@ var MultistreamConnectionEventNames;
9565
9577
  })(MultistreamConnectionEventNames || (MultistreamConnectionEventNames = {}));
9566
9578
  const defaultMultistreamConnectionOptions = {
9567
9579
  floorControlledPresentation: false,
9568
- disableSimulcast: false,
9580
+ disableSimulcast: getBrowserDetails().name === 'Firefox',
9569
9581
  streamSignalingMode: 'SSRC',
9570
9582
  bundlePolicy: 'max-compat',
9571
9583
  iceServers: undefined,
@@ -9842,29 +9854,39 @@ class MultistreamConnection extends EventEmitter {
9842
9854
  }
9843
9855
  }
9844
9856
  publishTrack(track) {
9845
- let mediaContent;
9846
- if (track instanceof LocalDisplayTrack && this.options.floorControlledPresentation) {
9847
- mediaContent = MediaContent.Slides;
9848
- }
9849
- else {
9850
- mediaContent = MediaContent.Main;
9851
- }
9852
- const mediaFamily = toMediaFamily(track.kind);
9853
- const mediaType = getMediaType(mediaFamily, mediaContent);
9854
- this.addTrackListeners(mediaType, track);
9855
- return this.getSendTransceiverOrThrow(mediaType).publishTrack(track);
9857
+ return __awaiter(this, void 0, void 0, function* () {
9858
+ let mediaContent;
9859
+ if (track instanceof LocalDisplayTrack && this.options.floorControlledPresentation) {
9860
+ mediaContent = MediaContent.Slides;
9861
+ }
9862
+ else {
9863
+ mediaContent = MediaContent.Main;
9864
+ }
9865
+ const mediaFamily = toMediaFamily(track.kind);
9866
+ const mediaType = getMediaType(mediaFamily, mediaContent);
9867
+ const sendTransceiver = this.getSendTransceiverOrThrow(mediaType);
9868
+ if (track === sendTransceiver.publishedTrack) {
9869
+ logger.warn(`This track has already been published on the transceiver.`);
9870
+ return Promise.resolve();
9871
+ }
9872
+ this.addTrackListeners(mediaType, track);
9873
+ return sendTransceiver.publishTrack(track);
9874
+ });
9856
9875
  }
9857
9876
  unpublishTrack(track) {
9858
- let mediaContent;
9859
- if (track instanceof LocalDisplayTrack && this.options.floorControlledPresentation) {
9860
- mediaContent = MediaContent.Slides;
9861
- }
9862
- else {
9863
- mediaContent = MediaContent.Main;
9864
- }
9865
- const mediaFamily = toMediaFamily(track.kind);
9866
- const mediaType = getMediaType(mediaFamily, mediaContent);
9867
- return this.getSendTransceiverOrThrow(mediaType).unpublishTrack();
9877
+ return __awaiter(this, void 0, void 0, function* () {
9878
+ let mediaContent;
9879
+ if (track instanceof LocalDisplayTrack && this.options.floorControlledPresentation) {
9880
+ mediaContent = MediaContent.Slides;
9881
+ }
9882
+ else {
9883
+ mediaContent = MediaContent.Main;
9884
+ }
9885
+ const mediaFamily = toMediaFamily(track.kind);
9886
+ const mediaType = getMediaType(mediaFamily, mediaContent);
9887
+ const sendTransceiver = this.getSendTransceiverOrThrow(mediaType);
9888
+ return sendTransceiver.unpublishTrack();
9889
+ });
9868
9890
  }
9869
9891
  addTrackListeners(mediaType, track) {
9870
9892
  const onTrackMute = (event) => {
@@ -10133,9 +10155,6 @@ class MultistreamConnection extends EventEmitter {
10133
10155
  ? this.getVideoEncodingOptions()
10134
10156
  : undefined,
10135
10157
  }));
10136
- if (transceiver.publishedTrack) {
10137
- transceiver.publishTrack(transceiver.publishedTrack);
10138
- }
10139
10158
  transceiver.csi = generateCsi(getMediaFamily(mediaType), mainSceneId);
10140
10159
  (_a = this.jmpSessions.get(mediaType)) === null || _a === void 0 ? void 0 : _a.close();
10141
10160
  this.createJmpSession(mediaType);