@webex/internal-media-core 2.9.2 → 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();
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();
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/internal-media-core",
3
- "version": "2.9.2",
3
+ "version": "2.9.3",
4
4
  "files": [
5
5
  "dist/cjs",
6
6
  "dist/esm",