@webex/web-client-media-engine 1.37.2 → 1.37.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
@@ -8891,6 +8891,18 @@ class SendOnlyTransceiver extends Transceiver {
8891
8891
  }
8892
8892
  });
8893
8893
  }
8894
+ replaceTransceiver(newRtcRtpTransceiver) {
8895
+ const _super = Object.create(null, {
8896
+ replaceTransceiver: { get: () => super.replaceTransceiver }
8897
+ });
8898
+ var _a;
8899
+ return __awaiter(this, void 0, void 0, function* () {
8900
+ _super.replaceTransceiver.call(this, newRtcRtpTransceiver);
8901
+ if (this.requested) {
8902
+ yield this.sender.replaceTrack(((_a = this.publishedTrack) === null || _a === void 0 ? void 0 : _a.underlyingTrack) || null);
8903
+ }
8904
+ });
8905
+ }
8894
8906
  replacePublishedTrack(newTrack) {
8895
8907
  var _a, _b;
8896
8908
  return __awaiter(this, void 0, void 0, function* () {
@@ -9846,29 +9858,39 @@ class MultistreamConnection extends EventEmitter {
9846
9858
  }
9847
9859
  }
9848
9860
  publishTrack(track) {
9849
- let mediaContent;
9850
- if (track instanceof LocalDisplayTrack && this.options.floorControlledPresentation) {
9851
- mediaContent = MediaContent.Slides;
9852
- }
9853
- else {
9854
- mediaContent = MediaContent.Main;
9855
- }
9856
- const mediaFamily = toMediaFamily(track.kind);
9857
- const mediaType = getMediaType(mediaFamily, mediaContent);
9858
- this.addTrackListeners(mediaType, track);
9859
- return this.getSendTransceiverOrThrow(mediaType).publishTrack(track);
9861
+ return __awaiter(this, void 0, void 0, function* () {
9862
+ let mediaContent;
9863
+ if (track instanceof LocalDisplayTrack && this.options.floorControlledPresentation) {
9864
+ mediaContent = MediaContent.Slides;
9865
+ }
9866
+ else {
9867
+ mediaContent = MediaContent.Main;
9868
+ }
9869
+ const mediaFamily = toMediaFamily(track.kind);
9870
+ const mediaType = getMediaType(mediaFamily, mediaContent);
9871
+ const sendTransceiver = this.getSendTransceiverOrThrow(mediaType);
9872
+ if (track === sendTransceiver.publishedTrack) {
9873
+ logger.warn(`This track has already been published on the transceiver.`);
9874
+ return Promise.resolve();
9875
+ }
9876
+ this.addTrackListeners(mediaType, track);
9877
+ return sendTransceiver.publishTrack(track);
9878
+ });
9860
9879
  }
9861
9880
  unpublishTrack(track) {
9862
- let mediaContent;
9863
- if (track instanceof LocalDisplayTrack && this.options.floorControlledPresentation) {
9864
- mediaContent = MediaContent.Slides;
9865
- }
9866
- else {
9867
- mediaContent = MediaContent.Main;
9868
- }
9869
- const mediaFamily = toMediaFamily(track.kind);
9870
- const mediaType = getMediaType(mediaFamily, mediaContent);
9871
- return this.getSendTransceiverOrThrow(mediaType).unpublishTrack();
9881
+ return __awaiter(this, void 0, void 0, function* () {
9882
+ let mediaContent;
9883
+ if (track instanceof LocalDisplayTrack && this.options.floorControlledPresentation) {
9884
+ mediaContent = MediaContent.Slides;
9885
+ }
9886
+ else {
9887
+ mediaContent = MediaContent.Main;
9888
+ }
9889
+ const mediaFamily = toMediaFamily(track.kind);
9890
+ const mediaType = getMediaType(mediaFamily, mediaContent);
9891
+ const sendTransceiver = this.getSendTransceiverOrThrow(mediaType);
9892
+ return sendTransceiver.unpublishTrack();
9893
+ });
9872
9894
  }
9873
9895
  addTrackListeners(mediaType, track) {
9874
9896
  const onTrackMute = (event) => {
@@ -10137,9 +10159,6 @@ class MultistreamConnection extends EventEmitter {
10137
10159
  ? this.getVideoEncodingOptions()
10138
10160
  : undefined,
10139
10161
  }));
10140
- if (transceiver.publishedTrack) {
10141
- transceiver.publishTrack(transceiver.publishedTrack);
10142
- }
10143
10162
  transceiver.csi = generateCsi(getMediaFamily(mediaType), mainSceneId);
10144
10163
  (_a = this.jmpSessions.get(mediaType)) === null || _a === void 0 ? void 0 : _a.close();
10145
10164
  this.createJmpSession(mediaType);