@webex/internal-media-core 2.9.1 → 2.9.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
@@ -15182,6 +15182,9 @@ class MultistreamRoapMediaConnection extends EventEmitter$5 {
15182
15182
  log(action, description) {
15183
15183
  getLogger().info("".concat(this.id, ":").concat(action, " ").concat(description));
15184
15184
  }
15185
+ warn(action, description) {
15186
+ getLogger().warn("".concat(this.id, ":").concat(action, " ").concat(description));
15187
+ }
15185
15188
  error(action, description, error) {
15186
15189
  getLogger().error("".concat(this.id, ":").concat(action, " ").concat(description, " ").concat(getErrorDescription(error)));
15187
15190
  }
@@ -15345,23 +15348,56 @@ class MultistreamRoapMediaConnection extends EventEmitter$5 {
15345
15348
  handleRemoteOffer() {
15346
15349
  return Promise.reject(new SdpOfferHandlingError('remote offers not supported by WCME'));
15347
15350
  }
15351
+ waitForIceCandidates() {
15352
+ this.log('waitForIceCandidates()', 'called');
15353
+ return new Promise((resolve, reject) => {
15354
+ if (this.multistreamConnection.getIceGatheringState() === 'complete') {
15355
+ resolve();
15356
+ return;
15357
+ }
15358
+ var timeout;
15359
+ var callback = event => {
15360
+ if (event === 'complete') {
15361
+ this.multistreamConnection.removeListener(MultistreamConnectionEventNames.IceGatheringStateUpdate, callback);
15362
+ clearTimeout(timeout);
15363
+ resolve();
15364
+ }
15365
+ };
15366
+ timeout = setTimeout(() => {
15367
+ this.multistreamConnection.removeListener(MultistreamConnectionEventNames.IceGatheringStateUpdate, callback);
15368
+ reject(new Error('Timed out waiting for ice candidates gathering'));
15369
+ }, 5000);
15370
+ this.multistreamConnection.addListener(MultistreamConnectionEventNames.IceGatheringStateUpdate, callback);
15371
+ });
15372
+ }
15348
15373
  handleRemoteAnswer(sdp) {
15349
- this.log('handleRemoteAnswer()', "called: sdp=".concat(sdp ? 'non-empty' : 'empty'));
15350
- if (sdp) {
15351
- var mungedSdp = mungeRemoteSdp({}, sdp);
15352
- this.log('handleRemoteAnswer()', 'calling this.multistreamConnection.setAnswer');
15353
- return this.multistreamConnection.setAnswer(mungedSdp).then(result => {
15354
- this.log('handleRemoteAnswer()', 'this.multistreamConnection.setAnswer resolved');
15355
- this.emit(exports.MediaConnectionEventNames.REMOTE_SDP_ANSWER_PROCESSED);
15356
- return result;
15357
- }).catch(error => {
15358
- this.log('handleRemoteAnswer()', "this.multistreamConnection.setAnswer failed");
15359
- throw new SdpAnswerHandlingError("handleRemoteAnswer() failure: ".concat(error.message), {
15360
- cause: error
15374
+ var _this2 = this;
15375
+ return _asyncToGenerator__default["default"](function* () {
15376
+ _this2.log('handleRemoteAnswer()', "called: sdp=".concat(sdp ? 'non-empty' : 'empty'));
15377
+ if (sdp) {
15378
+ try {
15379
+ yield _this2.waitForIceCandidates();
15380
+ } catch (e) {
15381
+ var {
15382
+ message
15383
+ } = e;
15384
+ _this2.warn('handleRemoteAnswer()', "".concat(message));
15385
+ }
15386
+ var mungedSdp = mungeRemoteSdp({}, sdp);
15387
+ _this2.log('handleRemoteAnswer()', 'calling this.multistreamConnection.setAnswer');
15388
+ return _this2.multistreamConnection.setAnswer(mungedSdp).then(result => {
15389
+ _this2.log('handleRemoteAnswer()', 'this.multistreamConnection.setAnswer resolved');
15390
+ _this2.emit(exports.MediaConnectionEventNames.REMOTE_SDP_ANSWER_PROCESSED);
15391
+ return result;
15392
+ }).catch(error => {
15393
+ _this2.log('handleRemoteAnswer()', "this.multistreamConnection.setAnswer failed");
15394
+ throw new SdpAnswerHandlingError("handleRemoteAnswer() failure: ".concat(error.message), {
15395
+ cause: error
15396
+ });
15361
15397
  });
15362
- });
15363
- }
15364
- return Promise.reject(new SdpAnswerHandlingError('empty answer'));
15398
+ }
15399
+ return Promise.reject(new SdpAnswerHandlingError('empty answer'));
15400
+ })();
15365
15401
  }
15366
15402
  getIceGatheringState() {
15367
15403
  return this.multistreamConnection.getIceGatheringState();
@@ -17376,8 +17412,17 @@ var getVideoSenderStreamMqa = _ref8 => {
17376
17412
  videoSenderStream.requestedBitrate = statsResults[mediaType][sendrecvType].requestedBitrate || 0;
17377
17413
  videoSenderStream.requestedFrameSize = statsResults[mediaType][sendrecvType].requestedFrameSize || 0;
17378
17414
  };
17379
- var isStreamRequested = (statsResults, mediaType, direction) => {
17415
+ var isStreamRequested = _ref9 => {
17380
17416
  var _statsResults$mediaTy7, _statsResults$mediaTy8;
17417
+ var {
17418
+ isMultistream,
17419
+ statsResults,
17420
+ mediaType,
17421
+ direction
17422
+ } = _ref9;
17423
+ if (!isMultistream) {
17424
+ return true;
17425
+ }
17381
17426
  var now = performance.timeOrigin + performance.now();
17382
17427
  var lastUpdateTimestamp = (_statsResults$mediaTy7 = statsResults[mediaType][direction]) === null || _statsResults$mediaTy7 === void 0 ? void 0 : _statsResults$mediaTy7.lastRequestedUpdateTimestamp;
17383
17428
  var isRequested = (_statsResults$mediaTy8 = statsResults[mediaType][direction]) === null || _statsResults$mediaTy8 === void 0 ? void 0 : _statsResults$mediaTy8.isRequested;
@@ -17635,7 +17680,12 @@ class StatsAnalyzer extends EventEmitter$5 {
17635
17680
  lastMqaDataSent: this.lastMqaDataSent,
17636
17681
  mediaType
17637
17682
  });
17638
- if (isStreamRequested(this.statsResults, mediaType, MediaDirection.SEND)) {
17683
+ if (isStreamRequested({
17684
+ isMultistream: this.isMultistream,
17685
+ statsResults: this.statsResults,
17686
+ mediaType,
17687
+ direction: MediaDirection.SEND
17688
+ })) {
17639
17689
  newMqa.audioTransmit[0].streams.push(audioSenderStream);
17640
17690
  }
17641
17691
  this.lastMqaDataSent[mediaType].send = structuredClone(this.statsResults[mediaType].send);
@@ -17647,7 +17697,12 @@ class StatsAnalyzer extends EventEmitter$5 {
17647
17697
  lastMqaDataSent: this.lastMqaDataSent,
17648
17698
  mediaType
17649
17699
  });
17650
- if (isStreamRequested(this.statsResults, mediaType, MediaDirection.SEND)) {
17700
+ if (isStreamRequested({
17701
+ isMultistream: this.isMultistream,
17702
+ statsResults: this.statsResults,
17703
+ mediaType,
17704
+ direction: MediaDirection.SEND
17705
+ })) {
17651
17706
  newMqa.audioTransmit[1].streams.push(_audioSenderStream);
17652
17707
  }
17653
17708
  this.lastMqaDataSent[mediaType].send = structuredClone(this.statsResults[mediaType].send);
@@ -17659,7 +17714,12 @@ class StatsAnalyzer extends EventEmitter$5 {
17659
17714
  lastMqaDataSent: this.lastMqaDataSent,
17660
17715
  mediaType
17661
17716
  });
17662
- if (isStreamRequested(this.statsResults, mediaType, MediaDirection.RECEIVE)) {
17717
+ if (isStreamRequested({
17718
+ isMultistream: this.isMultistream,
17719
+ statsResults: this.statsResults,
17720
+ mediaType,
17721
+ direction: MediaDirection.RECEIVE
17722
+ })) {
17663
17723
  newMqa.audioReceive[0].streams.push(audioReceiverStream);
17664
17724
  }
17665
17725
  this.lastMqaDataSent[mediaType].recv = structuredClone(this.statsResults[mediaType].recv);
@@ -17671,7 +17731,12 @@ class StatsAnalyzer extends EventEmitter$5 {
17671
17731
  lastMqaDataSent: this.lastMqaDataSent,
17672
17732
  mediaType
17673
17733
  });
17674
- if (isStreamRequested(this.statsResults, mediaType, MediaDirection.RECEIVE)) {
17734
+ if (isStreamRequested({
17735
+ isMultistream: this.isMultistream,
17736
+ statsResults: this.statsResults,
17737
+ mediaType,
17738
+ direction: MediaDirection.RECEIVE
17739
+ })) {
17675
17740
  newMqa.audioReceive[1].streams.push(_audioReceiverStream);
17676
17741
  }
17677
17742
  this.lastMqaDataSent[mediaType].recv = structuredClone(this.statsResults[mediaType].recv);
@@ -17683,7 +17748,12 @@ class StatsAnalyzer extends EventEmitter$5 {
17683
17748
  lastMqaDataSent: this.lastMqaDataSent,
17684
17749
  mediaType
17685
17750
  });
17686
- if (isStreamRequested(this.statsResults, mediaType, MediaDirection.SEND)) {
17751
+ if (isStreamRequested({
17752
+ isMultistream: this.isMultistream,
17753
+ statsResults: this.statsResults,
17754
+ mediaType,
17755
+ direction: MediaDirection.SEND
17756
+ })) {
17687
17757
  newMqa.videoTransmit[0].streams.push(videoSenderStream);
17688
17758
  }
17689
17759
  this.lastMqaDataSent[mediaType].send = structuredClone(this.statsResults[mediaType].send);
@@ -17695,7 +17765,12 @@ class StatsAnalyzer extends EventEmitter$5 {
17695
17765
  lastMqaDataSent: this.lastMqaDataSent,
17696
17766
  mediaType
17697
17767
  });
17698
- if (isStreamRequested(this.statsResults, mediaType, MediaDirection.SEND)) {
17768
+ if (isStreamRequested({
17769
+ isMultistream: this.isMultistream,
17770
+ statsResults: this.statsResults,
17771
+ mediaType,
17772
+ direction: MediaDirection.SEND
17773
+ })) {
17699
17774
  newMqa.videoTransmit[1].streams.push(_videoSenderStream);
17700
17775
  }
17701
17776
  this.lastMqaDataSent[mediaType].send = structuredClone(this.statsResults[mediaType].send);
@@ -17707,7 +17782,12 @@ class StatsAnalyzer extends EventEmitter$5 {
17707
17782
  lastMqaDataSent: this.lastMqaDataSent,
17708
17783
  mediaType
17709
17784
  });
17710
- if (isStreamRequested(this.statsResults, mediaType, MediaDirection.RECEIVE)) {
17785
+ if (isStreamRequested({
17786
+ isMultistream: this.isMultistream,
17787
+ statsResults: this.statsResults,
17788
+ mediaType,
17789
+ direction: MediaDirection.RECEIVE
17790
+ })) {
17711
17791
  newMqa.videoReceive[0].streams.push(videoReceiverStream);
17712
17792
  }
17713
17793
  this.lastMqaDataSent[mediaType].recv = structuredClone(this.statsResults[mediaType].recv);
@@ -17719,7 +17799,12 @@ class StatsAnalyzer extends EventEmitter$5 {
17719
17799
  lastMqaDataSent: this.lastMqaDataSent,
17720
17800
  mediaType
17721
17801
  });
17722
- if (isStreamRequested(this.statsResults, mediaType, MediaDirection.RECEIVE)) {
17802
+ if (isStreamRequested({
17803
+ isMultistream: this.isMultistream,
17804
+ statsResults: this.statsResults,
17805
+ mediaType,
17806
+ direction: MediaDirection.RECEIVE
17807
+ })) {
17723
17808
  newMqa.videoReceive[1].streams.push(_videoReceiverStream);
17724
17809
  }
17725
17810
  this.lastMqaDataSent[mediaType].recv = structuredClone(this.statsResults[mediaType].recv);
package/dist/esm/index.js CHANGED
@@ -15171,6 +15171,9 @@ class MultistreamRoapMediaConnection extends EventEmitter$5 {
15171
15171
  log(action, description) {
15172
15172
  getLogger().info("".concat(this.id, ":").concat(action, " ").concat(description));
15173
15173
  }
15174
+ warn(action, description) {
15175
+ getLogger().warn("".concat(this.id, ":").concat(action, " ").concat(description));
15176
+ }
15174
15177
  error(action, description, error) {
15175
15178
  getLogger().error("".concat(this.id, ":").concat(action, " ").concat(description, " ").concat(getErrorDescription(error)));
15176
15179
  }
@@ -15334,23 +15337,56 @@ class MultistreamRoapMediaConnection extends EventEmitter$5 {
15334
15337
  handleRemoteOffer() {
15335
15338
  return Promise.reject(new SdpOfferHandlingError('remote offers not supported by WCME'));
15336
15339
  }
15340
+ waitForIceCandidates() {
15341
+ this.log('waitForIceCandidates()', 'called');
15342
+ return new Promise((resolve, reject) => {
15343
+ if (this.multistreamConnection.getIceGatheringState() === 'complete') {
15344
+ resolve();
15345
+ return;
15346
+ }
15347
+ var timeout;
15348
+ var callback = event => {
15349
+ if (event === 'complete') {
15350
+ this.multistreamConnection.removeListener(MultistreamConnectionEventNames.IceGatheringStateUpdate, callback);
15351
+ clearTimeout(timeout);
15352
+ resolve();
15353
+ }
15354
+ };
15355
+ timeout = setTimeout(() => {
15356
+ this.multistreamConnection.removeListener(MultistreamConnectionEventNames.IceGatheringStateUpdate, callback);
15357
+ reject(new Error('Timed out waiting for ice candidates gathering'));
15358
+ }, 5000);
15359
+ this.multistreamConnection.addListener(MultistreamConnectionEventNames.IceGatheringStateUpdate, callback);
15360
+ });
15361
+ }
15337
15362
  handleRemoteAnswer(sdp) {
15338
- this.log('handleRemoteAnswer()', "called: sdp=".concat(sdp ? 'non-empty' : 'empty'));
15339
- if (sdp) {
15340
- var mungedSdp = mungeRemoteSdp({}, sdp);
15341
- this.log('handleRemoteAnswer()', 'calling this.multistreamConnection.setAnswer');
15342
- return this.multistreamConnection.setAnswer(mungedSdp).then(result => {
15343
- this.log('handleRemoteAnswer()', 'this.multistreamConnection.setAnswer resolved');
15344
- this.emit(MediaConnectionEventNames.REMOTE_SDP_ANSWER_PROCESSED);
15345
- return result;
15346
- }).catch(error => {
15347
- this.log('handleRemoteAnswer()', "this.multistreamConnection.setAnswer failed");
15348
- throw new SdpAnswerHandlingError("handleRemoteAnswer() failure: ".concat(error.message), {
15349
- cause: error
15363
+ var _this2 = this;
15364
+ return _asyncToGenerator(function* () {
15365
+ _this2.log('handleRemoteAnswer()', "called: sdp=".concat(sdp ? 'non-empty' : 'empty'));
15366
+ if (sdp) {
15367
+ try {
15368
+ yield _this2.waitForIceCandidates();
15369
+ } catch (e) {
15370
+ var {
15371
+ message
15372
+ } = e;
15373
+ _this2.warn('handleRemoteAnswer()', "".concat(message));
15374
+ }
15375
+ var mungedSdp = mungeRemoteSdp({}, sdp);
15376
+ _this2.log('handleRemoteAnswer()', 'calling this.multistreamConnection.setAnswer');
15377
+ return _this2.multistreamConnection.setAnswer(mungedSdp).then(result => {
15378
+ _this2.log('handleRemoteAnswer()', 'this.multistreamConnection.setAnswer resolved');
15379
+ _this2.emit(MediaConnectionEventNames.REMOTE_SDP_ANSWER_PROCESSED);
15380
+ return result;
15381
+ }).catch(error => {
15382
+ _this2.log('handleRemoteAnswer()', "this.multistreamConnection.setAnswer failed");
15383
+ throw new SdpAnswerHandlingError("handleRemoteAnswer() failure: ".concat(error.message), {
15384
+ cause: error
15385
+ });
15350
15386
  });
15351
- });
15352
- }
15353
- return Promise.reject(new SdpAnswerHandlingError('empty answer'));
15387
+ }
15388
+ return Promise.reject(new SdpAnswerHandlingError('empty answer'));
15389
+ })();
15354
15390
  }
15355
15391
  getIceGatheringState() {
15356
15392
  return this.multistreamConnection.getIceGatheringState();
@@ -17365,8 +17401,17 @@ var getVideoSenderStreamMqa = _ref8 => {
17365
17401
  videoSenderStream.requestedBitrate = statsResults[mediaType][sendrecvType].requestedBitrate || 0;
17366
17402
  videoSenderStream.requestedFrameSize = statsResults[mediaType][sendrecvType].requestedFrameSize || 0;
17367
17403
  };
17368
- var isStreamRequested = (statsResults, mediaType, direction) => {
17404
+ var isStreamRequested = _ref9 => {
17369
17405
  var _statsResults$mediaTy7, _statsResults$mediaTy8;
17406
+ var {
17407
+ isMultistream,
17408
+ statsResults,
17409
+ mediaType,
17410
+ direction
17411
+ } = _ref9;
17412
+ if (!isMultistream) {
17413
+ return true;
17414
+ }
17370
17415
  var now = performance.timeOrigin + performance.now();
17371
17416
  var lastUpdateTimestamp = (_statsResults$mediaTy7 = statsResults[mediaType][direction]) === null || _statsResults$mediaTy7 === void 0 ? void 0 : _statsResults$mediaTy7.lastRequestedUpdateTimestamp;
17372
17417
  var isRequested = (_statsResults$mediaTy8 = statsResults[mediaType][direction]) === null || _statsResults$mediaTy8 === void 0 ? void 0 : _statsResults$mediaTy8.isRequested;
@@ -17624,7 +17669,12 @@ class StatsAnalyzer extends EventEmitter$5 {
17624
17669
  lastMqaDataSent: this.lastMqaDataSent,
17625
17670
  mediaType
17626
17671
  });
17627
- if (isStreamRequested(this.statsResults, mediaType, MediaDirection.SEND)) {
17672
+ if (isStreamRequested({
17673
+ isMultistream: this.isMultistream,
17674
+ statsResults: this.statsResults,
17675
+ mediaType,
17676
+ direction: MediaDirection.SEND
17677
+ })) {
17628
17678
  newMqa.audioTransmit[0].streams.push(audioSenderStream);
17629
17679
  }
17630
17680
  this.lastMqaDataSent[mediaType].send = structuredClone(this.statsResults[mediaType].send);
@@ -17636,7 +17686,12 @@ class StatsAnalyzer extends EventEmitter$5 {
17636
17686
  lastMqaDataSent: this.lastMqaDataSent,
17637
17687
  mediaType
17638
17688
  });
17639
- if (isStreamRequested(this.statsResults, mediaType, MediaDirection.SEND)) {
17689
+ if (isStreamRequested({
17690
+ isMultistream: this.isMultistream,
17691
+ statsResults: this.statsResults,
17692
+ mediaType,
17693
+ direction: MediaDirection.SEND
17694
+ })) {
17640
17695
  newMqa.audioTransmit[1].streams.push(_audioSenderStream);
17641
17696
  }
17642
17697
  this.lastMqaDataSent[mediaType].send = structuredClone(this.statsResults[mediaType].send);
@@ -17648,7 +17703,12 @@ class StatsAnalyzer extends EventEmitter$5 {
17648
17703
  lastMqaDataSent: this.lastMqaDataSent,
17649
17704
  mediaType
17650
17705
  });
17651
- if (isStreamRequested(this.statsResults, mediaType, MediaDirection.RECEIVE)) {
17706
+ if (isStreamRequested({
17707
+ isMultistream: this.isMultistream,
17708
+ statsResults: this.statsResults,
17709
+ mediaType,
17710
+ direction: MediaDirection.RECEIVE
17711
+ })) {
17652
17712
  newMqa.audioReceive[0].streams.push(audioReceiverStream);
17653
17713
  }
17654
17714
  this.lastMqaDataSent[mediaType].recv = structuredClone(this.statsResults[mediaType].recv);
@@ -17660,7 +17720,12 @@ class StatsAnalyzer extends EventEmitter$5 {
17660
17720
  lastMqaDataSent: this.lastMqaDataSent,
17661
17721
  mediaType
17662
17722
  });
17663
- if (isStreamRequested(this.statsResults, mediaType, MediaDirection.RECEIVE)) {
17723
+ if (isStreamRequested({
17724
+ isMultistream: this.isMultistream,
17725
+ statsResults: this.statsResults,
17726
+ mediaType,
17727
+ direction: MediaDirection.RECEIVE
17728
+ })) {
17664
17729
  newMqa.audioReceive[1].streams.push(_audioReceiverStream);
17665
17730
  }
17666
17731
  this.lastMqaDataSent[mediaType].recv = structuredClone(this.statsResults[mediaType].recv);
@@ -17672,7 +17737,12 @@ class StatsAnalyzer extends EventEmitter$5 {
17672
17737
  lastMqaDataSent: this.lastMqaDataSent,
17673
17738
  mediaType
17674
17739
  });
17675
- if (isStreamRequested(this.statsResults, mediaType, MediaDirection.SEND)) {
17740
+ if (isStreamRequested({
17741
+ isMultistream: this.isMultistream,
17742
+ statsResults: this.statsResults,
17743
+ mediaType,
17744
+ direction: MediaDirection.SEND
17745
+ })) {
17676
17746
  newMqa.videoTransmit[0].streams.push(videoSenderStream);
17677
17747
  }
17678
17748
  this.lastMqaDataSent[mediaType].send = structuredClone(this.statsResults[mediaType].send);
@@ -17684,7 +17754,12 @@ class StatsAnalyzer extends EventEmitter$5 {
17684
17754
  lastMqaDataSent: this.lastMqaDataSent,
17685
17755
  mediaType
17686
17756
  });
17687
- if (isStreamRequested(this.statsResults, mediaType, MediaDirection.SEND)) {
17757
+ if (isStreamRequested({
17758
+ isMultistream: this.isMultistream,
17759
+ statsResults: this.statsResults,
17760
+ mediaType,
17761
+ direction: MediaDirection.SEND
17762
+ })) {
17688
17763
  newMqa.videoTransmit[1].streams.push(_videoSenderStream);
17689
17764
  }
17690
17765
  this.lastMqaDataSent[mediaType].send = structuredClone(this.statsResults[mediaType].send);
@@ -17696,7 +17771,12 @@ class StatsAnalyzer extends EventEmitter$5 {
17696
17771
  lastMqaDataSent: this.lastMqaDataSent,
17697
17772
  mediaType
17698
17773
  });
17699
- if (isStreamRequested(this.statsResults, mediaType, MediaDirection.RECEIVE)) {
17774
+ if (isStreamRequested({
17775
+ isMultistream: this.isMultistream,
17776
+ statsResults: this.statsResults,
17777
+ mediaType,
17778
+ direction: MediaDirection.RECEIVE
17779
+ })) {
17700
17780
  newMqa.videoReceive[0].streams.push(videoReceiverStream);
17701
17781
  }
17702
17782
  this.lastMqaDataSent[mediaType].recv = structuredClone(this.statsResults[mediaType].recv);
@@ -17708,7 +17788,12 @@ class StatsAnalyzer extends EventEmitter$5 {
17708
17788
  lastMqaDataSent: this.lastMqaDataSent,
17709
17789
  mediaType
17710
17790
  });
17711
- if (isStreamRequested(this.statsResults, mediaType, MediaDirection.RECEIVE)) {
17791
+ if (isStreamRequested({
17792
+ isMultistream: this.isMultistream,
17793
+ statsResults: this.statsResults,
17794
+ mediaType,
17795
+ direction: MediaDirection.RECEIVE
17796
+ })) {
17712
17797
  newMqa.videoReceive[1].streams.push(_videoReceiverStream);
17713
17798
  }
17714
17799
  this.lastMqaDataSent[mediaType].recv = structuredClone(this.statsResults[mediaType].recv);
@@ -15,6 +15,7 @@ export declare class MultistreamRoapMediaConnection extends EventEmitter<Multist
15
15
  private sendMetricsCallback;
16
16
  constructor(mediaConnectionConfig: MultistreamConnectionConfig, debugId?: string, metricsCallback?: MetricsCallback, closeCallback?: CloseCallback, sendMetricsCallback?: SendMetricsCallback);
17
17
  private log;
18
+ private warn;
18
19
  private error;
19
20
  private createMultistreamConnection;
20
21
  private createRoap;
@@ -36,6 +37,7 @@ export declare class MultistreamRoapMediaConnection extends EventEmitter<Multist
36
37
  requestMedia(mediaType: MediaType, streamRequests: StreamRequest[]): void;
37
38
  private createLocalOffer;
38
39
  private handleRemoteOffer;
40
+ private waitForIceCandidates;
39
41
  private handleRemoteAnswer;
40
42
  getIceGatheringState(): RTCIceGatheringState;
41
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MultistreamRoapMediaConnection.d.ts","sourceRoot":"","sources":["../../../src/MediaConnection/MultistreamRoapMediaConnection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultistreamRoapMediaConnection.d.ts","sourceRoot":"","sources":["../../../src/MediaConnection/MultistreamRoapMediaConnection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StatsAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/StatsAnalyzer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AA8B7C,OAAO,EAIL,yBAAyB,EACzB,OAAO,EAEP,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EAEb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,8BAA8B,EAAE,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AACvF,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EAGpB,MAAM,cAAc,CAAC;AAKtB,qBAAa,aAAc,SAAQ,YAAY,CAAC,mBAAmB,CAAC;IAClE,MAAM,EAAE,mBAAmB,CAAC;IAE5B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,0BAA0B,EAAE,0BAA0B,CAAC;IAEvD,eAAe,EAAE,OAAO,CAAC;IAEzB,gBAAgB,EAAE,YAAY,GAAG,IAAI,CAAC;IAEtC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;IAE/C,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAE5C,YAAY,EAAE,MAAM,CAAC;IAIrB,qBAAqB,EAAE,qBAAqB,CAAC;IAE7C,eAAe,EAAE,8BAA8B,GAAG,mBAAmB,GAAG,IAAI,CAAC;IAE7E,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAE9C,YAAY,EAAE,YAAY,CAAC;IAE3B,YAAY,EAAE,OAAO,CAAC;IAGtB,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE7C,cAAc,EAAE,MAAM,CAAC;IAEvB,+BAA+B,CAAC,EAAE,MAAM,CAAC;IAEzC,aAAa,EAAE,OAAO,CAAC;gBAUX,EACV,MAAM,EACN,qBAA0B,EAC1B,YAA4B,EAC5B,aAAqB,GACtB,EAAE;QACD,MAAM,EAAE,mBAAmB,CAAC;QAC5B,qBAAqB,EAAE,qBAAqB,CAAC;QAC7C,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB;IAoBD,OAAO,CAAC,iBAAiB;IAkBlB,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAgBnE,OAAO,CAAC,WAAW;IA6QZ,iBAAiB,IAAI,MAAM;IAU3B,aAAa,CAAC,eAAe,EAAE,8BAA8B,GAAG,mBAAmB;IAuBnF,YAAY;IA8BnB,OAAO,CAAC,mBAAmB;IAiD3B,OAAO,CAAC,6BAA6B;IA4DrC,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,mBAAmB,CAkDzB;IAKF,OAAO,CAAC,sBAAsB;IAgN9B,OAAO,CAAC,gBAAgB;IAyExB,OAAO,CAAC,wBAAwB;IAsDhC,OAAO,CAAC,uBAAuB;IAgK/B,OAAO,CAAC,6CAA6C,CA+BnD;IAUF,OAAO,CAAC,cAAc,CAuDpB;IAQF,OAAO,CAAC,sBAAsB;CAkD/B"}
1
+ {"version":3,"file":"StatsAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/StatsAnalyzer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AA8B7C,OAAO,EAIL,yBAAyB,EACzB,OAAO,EAEP,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EAEb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,8BAA8B,EAAE,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AACvF,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EAGpB,MAAM,cAAc,CAAC;AAKtB,qBAAa,aAAc,SAAQ,YAAY,CAAC,mBAAmB,CAAC;IAClE,MAAM,EAAE,mBAAmB,CAAC;IAE5B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,0BAA0B,EAAE,0BAA0B,CAAC;IAEvD,eAAe,EAAE,OAAO,CAAC;IAEzB,gBAAgB,EAAE,YAAY,GAAG,IAAI,CAAC;IAEtC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC;IAE/C,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAE5C,YAAY,EAAE,MAAM,CAAC;IAIrB,qBAAqB,EAAE,qBAAqB,CAAC;IAE7C,eAAe,EAAE,8BAA8B,GAAG,mBAAmB,GAAG,IAAI,CAAC;IAE7E,aAAa,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAE9C,YAAY,EAAE,YAAY,CAAC;IAE3B,YAAY,EAAE,OAAO,CAAC;IAGtB,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE7C,cAAc,EAAE,MAAM,CAAC;IAEvB,+BAA+B,CAAC,EAAE,MAAM,CAAC;IAEzC,aAAa,EAAE,OAAO,CAAC;gBAUX,EACV,MAAM,EACN,qBAA0B,EAC1B,YAA4B,EAC5B,aAAqB,GACtB,EAAE;QACD,MAAM,EAAE,mBAAmB,CAAC;QAC5B,qBAAqB,EAAE,qBAAqB,CAAC;QAC7C,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB;IAoBD,OAAO,CAAC,iBAAiB;IAkBlB,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAgBnE,OAAO,CAAC,WAAW;IAwUZ,iBAAiB,IAAI,MAAM;IAU3B,aAAa,CAAC,eAAe,EAAE,8BAA8B,GAAG,mBAAmB;IAuBnF,YAAY;IA8BnB,OAAO,CAAC,mBAAmB;IAiD3B,OAAO,CAAC,6BAA6B;IA4DrC,OAAO,CAAC,gBAAgB;IAqBxB,OAAO,CAAC,mBAAmB,CAkDzB;IAKF,OAAO,CAAC,sBAAsB;IAgN9B,OAAO,CAAC,gBAAgB;IAyExB,OAAO,CAAC,wBAAwB;IAsDhC,OAAO,CAAC,uBAAuB;IAgK/B,OAAO,CAAC,6CAA6C,CA+BnD;IAUF,OAAO,CAAC,cAAc,CAuDpB;IAQF,OAAO,CAAC,sBAAsB;CAkD/B"}
@@ -51,5 +51,10 @@ export declare const getVideoSenderStreamMqa: ({ videoSenderStream, statsResults
51
51
  lastMqaDataSent: MqaData;
52
52
  mediaType: string;
53
53
  }) => void;
54
- export declare const isStreamRequested: (statsResults: StatsResults, mediaType: string, direction: MediaDirection) => boolean;
54
+ export declare const isStreamRequested: ({ isMultistream, statsResults, mediaType, direction, }: {
55
+ isMultistream: boolean;
56
+ statsResults: StatsResults;
57
+ mediaType: string;
58
+ direction: MediaDirection;
59
+ }) => boolean;
55
60
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,cAAc,EAAE,OAAO,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAkD9D,eAAO,MAAM,mBAAmB;mBAQf,OAAO,MAAM,EAAE,GAAG,CAAC;kBACpB,YAAY;qBACT,OAAO;mBACT,MAAM;mBACN,OAAO;UAuDvB,CAAC;AAEF,eAAO,MAAM,yBAAyB;yBAOf,OAAO,MAAM,EAAE,GAAG,CAAC;kBAC1B,YAAY;qBACT,OAAO;eACb,MAAM;UAgDlB,CAAC;AAEF,eAAO,MAAM,iBAAiB;iBAQf,OAAO,MAAM,EAAE,GAAG,CAAC;kBAClB,YAAY;qBACT,OAAO;mBACT,MAAM;mBACN,OAAO;UA4DvB,CAAC;AAEF,eAAO,MAAM,uBAAuB;uBAOf,OAAO,MAAM,EAAE,GAAG,CAAC;kBACxB,YAAY;qBACT,OAAO;eACb,MAAM;UA8BlB,CAAC;AAEF,eAAO,MAAM,mBAAmB;mBAQf,OAAO,MAAM,EAAE,GAAG,CAAC;kBACpB,YAAY;qBACT,OAAO;mBACT,MAAM;mBACN,OAAO;UA0DvB,CAAC;AAEF,eAAO,MAAM,yBAAyB;yBAOf,OAAO,MAAM,EAAE,GAAG,CAAC;kBAC1B,YAAY;qBACT,OAAO;eACb,MAAM;UAuElB,CAAC;AAEF,eAAO,MAAM,iBAAiB;iBAQf,OAAO,MAAM,EAAE,GAAG,CAAC;kBAClB,YAAY;qBACT,OAAO;mBACT,MAAM;mBACN,OAAO;UAmEvB,CAAC;AAEF,eAAO,MAAM,uBAAuB;uBAOf,OAAO,MAAM,EAAE,GAAG,CAAC;kBACxB,YAAY;qBACT,OAAO;eACb,MAAM;UA8ClB,CAAC;AAUF,eAAO,MAAM,iBAAiB,iBACd,YAAY,aACf,MAAM,aACN,cAAc,KACxB,OAMF,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/StatsAnalyzer/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,cAAc,EAAE,OAAO,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAkD9D,eAAO,MAAM,mBAAmB;mBAQf,OAAO,MAAM,EAAE,GAAG,CAAC;kBACpB,YAAY;qBACT,OAAO;mBACT,MAAM;mBACN,OAAO;UAuDvB,CAAC;AAEF,eAAO,MAAM,yBAAyB;yBAOf,OAAO,MAAM,EAAE,GAAG,CAAC;kBAC1B,YAAY;qBACT,OAAO;eACb,MAAM;UAgDlB,CAAC;AAEF,eAAO,MAAM,iBAAiB;iBAQf,OAAO,MAAM,EAAE,GAAG,CAAC;kBAClB,YAAY;qBACT,OAAO;mBACT,MAAM;mBACN,OAAO;UA4DvB,CAAC;AAEF,eAAO,MAAM,uBAAuB;uBAOf,OAAO,MAAM,EAAE,GAAG,CAAC;kBACxB,YAAY;qBACT,OAAO;eACb,MAAM;UA8BlB,CAAC;AAEF,eAAO,MAAM,mBAAmB;mBAQf,OAAO,MAAM,EAAE,GAAG,CAAC;kBACpB,YAAY;qBACT,OAAO;mBACT,MAAM;mBACN,OAAO;UA0DvB,CAAC;AAEF,eAAO,MAAM,yBAAyB;yBAOf,OAAO,MAAM,EAAE,GAAG,CAAC;kBAC1B,YAAY;qBACT,OAAO;eACb,MAAM;UAuElB,CAAC;AAEF,eAAO,MAAM,iBAAiB;iBAQf,OAAO,MAAM,EAAE,GAAG,CAAC;kBAClB,YAAY;qBACT,OAAO;mBACT,MAAM;mBACN,OAAO;UAmEvB,CAAC;AAEF,eAAO,MAAM,uBAAuB;uBAOf,OAAO,MAAM,EAAE,GAAG,CAAC;kBACxB,YAAY;qBACT,OAAO;eACb,MAAM;UA8ClB,CAAC;AAWF,eAAO,MAAM,iBAAiB;mBAMb,OAAO;kBACR,YAAY;eACf,MAAM;eACN,cAAc;MACvB,OAUH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/internal-media-core",
3
- "version": "2.9.1",
3
+ "version": "2.9.3",
4
4
  "files": [
5
5
  "dist/cjs",
6
6
  "dist/esm",