@webex/internal-media-core 1.33.2 → 1.34.0

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
@@ -11863,6 +11863,7 @@ class ReceiveSlot extends EventEmitter {
11863
11863
  this.handleTrackMuted = this.handleTrackMuted.bind(this);
11864
11864
  this.handleTrackUnmuted = this.handleTrackUnmuted.bind(this);
11865
11865
  this._stream = new MediaStream([track]);
11866
+ this._sourceState = 'no source';
11866
11867
  this.addTrackHandlers(track);
11867
11868
  }
11868
11869
  addTrackHandlers(track) {
@@ -11890,8 +11891,11 @@ class ReceiveSlot extends EventEmitter {
11890
11891
  this._stream.addTrack(newTrack);
11891
11892
  }
11892
11893
  _updateSource(state, csi) {
11893
- this.currentRxCsi = csi;
11894
- this.emit(exports.ReceiveSlotEvents.SourceUpdate, state, csi);
11894
+ if (state !== this._sourceState || csi !== this._currentRxCsi) {
11895
+ this._sourceState = state;
11896
+ this._currentRxCsi = csi;
11897
+ this.emit(exports.ReceiveSlotEvents.SourceUpdate, state, csi);
11898
+ }
11895
11899
  }
11896
11900
  close() {
11897
11901
  this._stream.getTracks().forEach(t => {
@@ -11904,6 +11908,9 @@ class ReceiveSlot extends EventEmitter {
11904
11908
  get stream() {
11905
11909
  return this._stream;
11906
11910
  }
11911
+ get currentRxCsi() {
11912
+ return this._currentRxCsi;
11913
+ }
11907
11914
  }
11908
11915
  ReceiveSlot.Events = exports.ReceiveSlotEvents;
11909
11916
  class Transceiver {
@@ -14199,10 +14206,16 @@ class MultistreamConnection extends EventEmitter {
14199
14206
  }];
14200
14207
  }
14201
14208
  createSendTransceiver(mediaType, sceneId, sendEncodingsOptions) {
14202
- var rtcTransceiver = this.pc.addTransceiver(toMediaStreamTrackKind(mediaType), {
14203
- direction: 'sendrecv',
14204
- sendEncodings: sendEncodingsOptions
14205
- });
14209
+ var rtcTransceiver;
14210
+ try {
14211
+ rtcTransceiver = this.pc.addTransceiver(toMediaStreamTrackKind(mediaType), {
14212
+ direction: 'sendrecv',
14213
+ sendEncodings: sendEncodingsOptions
14214
+ });
14215
+ } catch (e) {
14216
+ logger$4.error("addTransceiver failed due to : ".concat(e));
14217
+ throw e;
14218
+ }
14206
14219
  this.addMid(mediaType);
14207
14220
  var csi = generateCsi(getMediaFamily(mediaType), sceneId);
14208
14221
  this.sendTransceivers.set(mediaType, new SendOnlyTransceiver(rtcTransceiver, csi));
@@ -14220,8 +14233,9 @@ class MultistreamConnection extends EventEmitter {
14220
14233
  this.dataChannel.send(msg);
14221
14234
  });
14222
14235
  if (getMediaFamily(mediaType) === MediaFamily$1.Video) {
14236
+ var prevNumTotalSources = 0;
14237
+ var prevNumLiveSources = 0;
14223
14238
  jmpSession.on(JmpSessionEvents$1.SourceIndication, data => {
14224
- this.emit(MultistreamConnectionEventNames.VideoSourceCountUpdate, data.numTotalSources, data.numLiveSources);
14225
14239
  data.sources.forEach(s => {
14226
14240
  var receiveSlot = this.getReceiveSlotById(s.id);
14227
14241
  if (!receiveSlot) {
@@ -14230,6 +14244,11 @@ class MultistreamConnection extends EventEmitter {
14230
14244
  }
14231
14245
  receiveSlot._updateSource(s.state, s.csi);
14232
14246
  });
14247
+ if (data.numTotalSources !== prevNumTotalSources || data.numLiveSources !== prevNumLiveSources) {
14248
+ prevNumTotalSources = data.numTotalSources;
14249
+ prevNumLiveSources = data.numLiveSources;
14250
+ this.emit(MultistreamConnectionEventNames.VideoSourceCountUpdate, data.numTotalSources, data.numLiveSources, getMediaContent(mediaType));
14251
+ }
14233
14252
  });
14234
14253
  jmpSession.on(JmpSessionEvents$1.ScrRequestReceived, data => {
14235
14254
  this.sendSourceWarnings(mediaType, data.requests);
@@ -14237,8 +14256,9 @@ class MultistreamConnection extends EventEmitter {
14237
14256
  });
14238
14257
  }
14239
14258
  if (getMediaFamily(mediaType) === MediaFamily$1.Audio) {
14259
+ var _prevNumTotalSources = 0;
14260
+ var _prevNumLiveSources = 0;
14240
14261
  jmpSession.on(JmpSessionEvents$1.SourceIndication, data => {
14241
- this.emit(MultistreamConnectionEventNames.AudioSourceCountUpdate, data.numTotalSources, data.numLiveSources);
14242
14262
  data.sources.forEach(s => {
14243
14263
  var receiveSlot = this.getReceiveSlotById(s.id);
14244
14264
  if (!receiveSlot) {
@@ -14247,6 +14267,11 @@ class MultistreamConnection extends EventEmitter {
14247
14267
  }
14248
14268
  receiveSlot._updateSource(s.state, s.csi);
14249
14269
  });
14270
+ if (data.numTotalSources !== _prevNumTotalSources || data.numLiveSources !== _prevNumLiveSources) {
14271
+ _prevNumTotalSources = data.numTotalSources;
14272
+ _prevNumLiveSources = data.numLiveSources;
14273
+ this.emit(MultistreamConnectionEventNames.AudioSourceCountUpdate, data.numTotalSources, data.numLiveSources, getMediaContent(mediaType));
14274
+ }
14250
14275
  });
14251
14276
  jmpSession.on(JmpSessionEvents$1.ActiveSpeaker, data => this.emit(MultistreamConnectionEventNames.ActiveSpeakerNotification, data));
14252
14277
  jmpSession.on(JmpSessionEvents$1.ScrRequestReceived, data => {
@@ -23766,11 +23791,11 @@ class MultistreamRoapMediaConnection extends EventEmitter$4 {
23766
23791
  csis: data.csis
23767
23792
  });
23768
23793
  });
23769
- multistreamConnection.on(MultistreamConnectionEventNames.AudioSourceCountUpdate, (numTotalSources, numLiveSources) => {
23770
- this.emit(exports.Event.AUDIO_SOURCES_COUNT_CHANGED, numTotalSources, numLiveSources);
23794
+ multistreamConnection.on(MultistreamConnectionEventNames.AudioSourceCountUpdate, (numTotalSources, numLiveSources, mediaContent) => {
23795
+ this.emit(exports.Event.AUDIO_SOURCES_COUNT_CHANGED, numTotalSources, numLiveSources, mediaContent);
23771
23796
  });
23772
- multistreamConnection.on(MultistreamConnectionEventNames.VideoSourceCountUpdate, (numTotalSources, numLiveSources) => {
23773
- this.emit(exports.Event.VIDEO_SOURCES_COUNT_CHANGED, numTotalSources, numLiveSources);
23797
+ multistreamConnection.on(MultistreamConnectionEventNames.VideoSourceCountUpdate, (numTotalSources, numLiveSources, mediaContent) => {
23798
+ this.emit(exports.Event.VIDEO_SOURCES_COUNT_CHANGED, numTotalSources, numLiveSources, mediaContent);
23774
23799
  });
23775
23800
  multistreamConnection.on(MultistreamConnectionEventNames.ConnectionStateUpdate, state => {
23776
23801
  this.emit(exports.Event.CONNECTION_STATE_CHANGED, {
package/dist/esm/index.js CHANGED
@@ -11852,6 +11852,7 @@ class ReceiveSlot extends EventEmitter {
11852
11852
  this.handleTrackMuted = this.handleTrackMuted.bind(this);
11853
11853
  this.handleTrackUnmuted = this.handleTrackUnmuted.bind(this);
11854
11854
  this._stream = new MediaStream([track]);
11855
+ this._sourceState = 'no source';
11855
11856
  this.addTrackHandlers(track);
11856
11857
  }
11857
11858
  addTrackHandlers(track) {
@@ -11879,8 +11880,11 @@ class ReceiveSlot extends EventEmitter {
11879
11880
  this._stream.addTrack(newTrack);
11880
11881
  }
11881
11882
  _updateSource(state, csi) {
11882
- this.currentRxCsi = csi;
11883
- this.emit(ReceiveSlotEvents.SourceUpdate, state, csi);
11883
+ if (state !== this._sourceState || csi !== this._currentRxCsi) {
11884
+ this._sourceState = state;
11885
+ this._currentRxCsi = csi;
11886
+ this.emit(ReceiveSlotEvents.SourceUpdate, state, csi);
11887
+ }
11884
11888
  }
11885
11889
  close() {
11886
11890
  this._stream.getTracks().forEach(t => {
@@ -11893,6 +11897,9 @@ class ReceiveSlot extends EventEmitter {
11893
11897
  get stream() {
11894
11898
  return this._stream;
11895
11899
  }
11900
+ get currentRxCsi() {
11901
+ return this._currentRxCsi;
11902
+ }
11896
11903
  }
11897
11904
  ReceiveSlot.Events = ReceiveSlotEvents;
11898
11905
  class Transceiver {
@@ -14188,10 +14195,16 @@ class MultistreamConnection extends EventEmitter {
14188
14195
  }];
14189
14196
  }
14190
14197
  createSendTransceiver(mediaType, sceneId, sendEncodingsOptions) {
14191
- var rtcTransceiver = this.pc.addTransceiver(toMediaStreamTrackKind(mediaType), {
14192
- direction: 'sendrecv',
14193
- sendEncodings: sendEncodingsOptions
14194
- });
14198
+ var rtcTransceiver;
14199
+ try {
14200
+ rtcTransceiver = this.pc.addTransceiver(toMediaStreamTrackKind(mediaType), {
14201
+ direction: 'sendrecv',
14202
+ sendEncodings: sendEncodingsOptions
14203
+ });
14204
+ } catch (e) {
14205
+ logger$4.error("addTransceiver failed due to : ".concat(e));
14206
+ throw e;
14207
+ }
14195
14208
  this.addMid(mediaType);
14196
14209
  var csi = generateCsi(getMediaFamily(mediaType), sceneId);
14197
14210
  this.sendTransceivers.set(mediaType, new SendOnlyTransceiver(rtcTransceiver, csi));
@@ -14209,8 +14222,9 @@ class MultistreamConnection extends EventEmitter {
14209
14222
  this.dataChannel.send(msg);
14210
14223
  });
14211
14224
  if (getMediaFamily(mediaType) === MediaFamily$1.Video) {
14225
+ var prevNumTotalSources = 0;
14226
+ var prevNumLiveSources = 0;
14212
14227
  jmpSession.on(JmpSessionEvents$1.SourceIndication, data => {
14213
- this.emit(MultistreamConnectionEventNames.VideoSourceCountUpdate, data.numTotalSources, data.numLiveSources);
14214
14228
  data.sources.forEach(s => {
14215
14229
  var receiveSlot = this.getReceiveSlotById(s.id);
14216
14230
  if (!receiveSlot) {
@@ -14219,6 +14233,11 @@ class MultistreamConnection extends EventEmitter {
14219
14233
  }
14220
14234
  receiveSlot._updateSource(s.state, s.csi);
14221
14235
  });
14236
+ if (data.numTotalSources !== prevNumTotalSources || data.numLiveSources !== prevNumLiveSources) {
14237
+ prevNumTotalSources = data.numTotalSources;
14238
+ prevNumLiveSources = data.numLiveSources;
14239
+ this.emit(MultistreamConnectionEventNames.VideoSourceCountUpdate, data.numTotalSources, data.numLiveSources, getMediaContent(mediaType));
14240
+ }
14222
14241
  });
14223
14242
  jmpSession.on(JmpSessionEvents$1.ScrRequestReceived, data => {
14224
14243
  this.sendSourceWarnings(mediaType, data.requests);
@@ -14226,8 +14245,9 @@ class MultistreamConnection extends EventEmitter {
14226
14245
  });
14227
14246
  }
14228
14247
  if (getMediaFamily(mediaType) === MediaFamily$1.Audio) {
14248
+ var _prevNumTotalSources = 0;
14249
+ var _prevNumLiveSources = 0;
14229
14250
  jmpSession.on(JmpSessionEvents$1.SourceIndication, data => {
14230
- this.emit(MultistreamConnectionEventNames.AudioSourceCountUpdate, data.numTotalSources, data.numLiveSources);
14231
14251
  data.sources.forEach(s => {
14232
14252
  var receiveSlot = this.getReceiveSlotById(s.id);
14233
14253
  if (!receiveSlot) {
@@ -14236,6 +14256,11 @@ class MultistreamConnection extends EventEmitter {
14236
14256
  }
14237
14257
  receiveSlot._updateSource(s.state, s.csi);
14238
14258
  });
14259
+ if (data.numTotalSources !== _prevNumTotalSources || data.numLiveSources !== _prevNumLiveSources) {
14260
+ _prevNumTotalSources = data.numTotalSources;
14261
+ _prevNumLiveSources = data.numLiveSources;
14262
+ this.emit(MultistreamConnectionEventNames.AudioSourceCountUpdate, data.numTotalSources, data.numLiveSources, getMediaContent(mediaType));
14263
+ }
14239
14264
  });
14240
14265
  jmpSession.on(JmpSessionEvents$1.ActiveSpeaker, data => this.emit(MultistreamConnectionEventNames.ActiveSpeakerNotification, data));
14241
14266
  jmpSession.on(JmpSessionEvents$1.ScrRequestReceived, data => {
@@ -23755,11 +23780,11 @@ class MultistreamRoapMediaConnection extends EventEmitter$4 {
23755
23780
  csis: data.csis
23756
23781
  });
23757
23782
  });
23758
- multistreamConnection.on(MultistreamConnectionEventNames.AudioSourceCountUpdate, (numTotalSources, numLiveSources) => {
23759
- this.emit(Event$1.AUDIO_SOURCES_COUNT_CHANGED, numTotalSources, numLiveSources);
23783
+ multistreamConnection.on(MultistreamConnectionEventNames.AudioSourceCountUpdate, (numTotalSources, numLiveSources, mediaContent) => {
23784
+ this.emit(Event$1.AUDIO_SOURCES_COUNT_CHANGED, numTotalSources, numLiveSources, mediaContent);
23760
23785
  });
23761
- multistreamConnection.on(MultistreamConnectionEventNames.VideoSourceCountUpdate, (numTotalSources, numLiveSources) => {
23762
- this.emit(Event$1.VIDEO_SOURCES_COUNT_CHANGED, numTotalSources, numLiveSources);
23786
+ multistreamConnection.on(MultistreamConnectionEventNames.VideoSourceCountUpdate, (numTotalSources, numLiveSources, mediaContent) => {
23787
+ this.emit(Event$1.VIDEO_SOURCES_COUNT_CHANGED, numTotalSources, numLiveSources, mediaContent);
23763
23788
  });
23764
23789
  multistreamConnection.on(MultistreamConnectionEventNames.ConnectionStateUpdate, state => {
23765
23790
  this.emit(Event$1.CONNECTION_STATE_CHANGED, {
@@ -1 +1 @@
1
- {"version":3,"file":"MultistreamRoapMediaConnection.d.ts","sourceRoot":"","sources":["../../../src/MediaConnection/MultistreamRoapMediaConnection.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,OAAO,EAKL,YAAY,EAGZ,WAAW,EACX,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAA+B,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAGhF,OAAO,EAAQ,eAAe,EAAE,WAAW,EAAmB,MAAM,cAAc,CAAC;AAKnF,OAAO,EAAC,2BAA2B,EAAC,MAAM,UAAU,CAAC;AAGrD,OAAO,EAAC,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AAE5F,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,SAAS,EACT,WAAW,EACX,MAAM,EACN,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAGjC,qBAAa,8BAA+B,SAAQ,YAAY;IAC9D,OAAO,CAAC,EAAE,CAAC,CAAS;IAEpB,OAAO,CAAC,OAAO,CAAC,CAAS;IAEzB,OAAO,CAAC,qBAAqB,CAAwB;IAErD,OAAO,CAAC,IAAI,CAAO;IAEnB,OAAO,CAAC,qBAAqB,CAAS;gBAW1B,qBAAqB,EAAE,2BAA2B,EAAE,OAAO,CAAC,EAAE,MAAM;IAehF,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,2BAA2B;IAyCnC,OAAO,CAAC,UAAU;IA4BX,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB9B,KAAK,IAAI,IAAI;IAOpB,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,eAAe;IAiBhB,SAAS,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,aAAa,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B1E,kBAAkB,IAAI,eAAe;IAWrC,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAOnC,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAShD,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAa7C,YAAY,CACvB,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,MAAM,GAAG,QAAQ,GAC9B,OAAO,CAAC,IAAI,CAAC;IAkCH,cAAc,CACzB,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,MAAM,GAAG,QAAQ,GAC9B,OAAO,CAAC,IAAI,CAAC;IAmCT,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IAM7D,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,IAAI;IAM9E,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,kBAAkB;CAkB3B"}
1
+ {"version":3,"file":"MultistreamRoapMediaConnection.d.ts","sourceRoot":"","sources":["../../../src/MediaConnection/MultistreamRoapMediaConnection.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,OAAO,EAKL,YAAY,EAGZ,WAAW,EACX,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAA6C,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAG9F,OAAO,EAAQ,eAAe,EAAE,WAAW,EAAmB,MAAM,cAAc,CAAC;AAKnF,OAAO,EAAC,2BAA2B,EAAC,MAAM,UAAU,CAAC;AAGrD,OAAO,EAAC,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AAE5F,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,SAAS,EACT,WAAW,EACX,MAAM,EACN,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AAGjC,qBAAa,8BAA+B,SAAQ,YAAY;IAC9D,OAAO,CAAC,EAAE,CAAC,CAAS;IAEpB,OAAO,CAAC,OAAO,CAAC,CAAS;IAEzB,OAAO,CAAC,qBAAqB,CAAwB;IAErD,OAAO,CAAC,IAAI,CAAO;IAEnB,OAAO,CAAC,qBAAqB,CAAS;gBAW1B,qBAAqB,EAAE,2BAA2B,EAAE,OAAO,CAAC,EAAE,MAAM;IAehF,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,2BAA2B;IAyCnC,OAAO,CAAC,UAAU;IA4BX,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB9B,KAAK,IAAI,IAAI;IAOpB,OAAO,CAAC,oBAAoB;IAK5B,OAAO,CAAC,eAAe;IAiBhB,SAAS,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,aAAa,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B1E,kBAAkB,IAAI,eAAe;IAWrC,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAOnC,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAShD,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAa7C,YAAY,CACvB,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,MAAM,GAAG,QAAQ,GAC9B,OAAO,CAAC,IAAI,CAAC;IAkCH,cAAc,CACzB,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,MAAM,GAAG,QAAQ,GAC9B,OAAO,CAAC,IAAI,CAAC;IAmCT,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IAM7D,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,IAAI;IAM9E,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,kBAAkB;CAkB3B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/internal-media-core",
3
- "version": "1.33.2",
3
+ "version": "1.34.0",
4
4
  "files": [
5
5
  "dist/cjs",
6
6
  "dist/esm",
@@ -47,7 +47,7 @@
47
47
  "@babel/runtime": "^7.18.9",
48
48
  "@webex/json-multistream": "1.20.0",
49
49
  "@webex/ts-sdp": "1.3.0",
50
- "@webex/web-client-media-engine": "1.37.4",
50
+ "@webex/web-client-media-engine": "1.37.6",
51
51
  "detectrtc": "^1.4.1",
52
52
  "events": "^3.3.0",
53
53
  "typed-emitter": "^2.1.0",