mediasoup-client 3.6.80 → 3.6.81

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.
Files changed (59) hide show
  1. package/lib/Consumer.d.ts.map +1 -1
  2. package/lib/Consumer.js +6 -3
  3. package/lib/DataConsumer.d.ts.map +1 -1
  4. package/lib/DataConsumer.js +14 -7
  5. package/lib/DataProducer.d.ts.map +1 -1
  6. package/lib/DataProducer.js +18 -9
  7. package/lib/Device.d.ts.map +1 -1
  8. package/lib/Device.js +24 -12
  9. package/lib/Producer.d.ts +1 -0
  10. package/lib/Producer.d.ts.map +1 -1
  11. package/lib/Producer.js +28 -14
  12. package/lib/handlers/Chrome111.d.ts.map +1 -1
  13. package/lib/handlers/Chrome111.js +33 -15
  14. package/lib/handlers/Chrome55.d.ts.map +1 -1
  15. package/lib/handlers/Chrome55.js +12 -6
  16. package/lib/handlers/Chrome67.d.ts.map +1 -1
  17. package/lib/handlers/Chrome67.js +32 -16
  18. package/lib/handlers/Chrome70.d.ts.map +1 -1
  19. package/lib/handlers/Chrome70.js +28 -14
  20. package/lib/handlers/Chrome74.d.ts.map +1 -1
  21. package/lib/handlers/Chrome74.js +35 -16
  22. package/lib/handlers/Edge11.d.ts.map +1 -1
  23. package/lib/handlers/Edge11.js +30 -15
  24. package/lib/handlers/FakeHandler.d.ts.map +1 -1
  25. package/lib/handlers/FakeHandler.js +16 -8
  26. package/lib/handlers/Firefox60.d.ts.map +1 -1
  27. package/lib/handlers/Firefox60.js +38 -19
  28. package/lib/handlers/ReactNative.d.ts.map +1 -1
  29. package/lib/handlers/ReactNative.js +12 -6
  30. package/lib/handlers/ReactNativeUnifiedPlan.d.ts.map +1 -1
  31. package/lib/handlers/ReactNativeUnifiedPlan.js +35 -16
  32. package/lib/handlers/Safari11.d.ts.map +1 -1
  33. package/lib/handlers/Safari11.js +32 -16
  34. package/lib/handlers/Safari12.d.ts.map +1 -1
  35. package/lib/handlers/Safari12.js +37 -17
  36. package/lib/handlers/ortc/edgeUtils.d.ts.map +1 -1
  37. package/lib/handlers/ortc/edgeUtils.js +8 -4
  38. package/lib/handlers/ortc/utils.d.ts +6 -0
  39. package/lib/handlers/ortc/utils.d.ts.map +1 -0
  40. package/lib/handlers/ortc/utils.js +20 -0
  41. package/lib/handlers/sdp/MediaSection.d.ts.map +1 -1
  42. package/lib/handlers/sdp/MediaSection.js +56 -23
  43. package/lib/handlers/sdp/RemoteSdp.d.ts.map +1 -1
  44. package/lib/handlers/sdp/RemoteSdp.js +8 -4
  45. package/lib/handlers/sdp/commonUtils.d.ts.map +1 -1
  46. package/lib/handlers/sdp/commonUtils.js +26 -13
  47. package/lib/handlers/sdp/plainRtpUtils.d.ts.map +1 -1
  48. package/lib/handlers/sdp/plainRtpUtils.js +8 -4
  49. package/lib/handlers/sdp/planBUtils.d.ts.map +1 -1
  50. package/lib/handlers/sdp/planBUtils.js +22 -11
  51. package/lib/handlers/sdp/unifiedPlanUtils.d.ts.map +1 -1
  52. package/lib/handlers/sdp/unifiedPlanUtils.js +16 -8
  53. package/lib/index.d.ts +1 -1
  54. package/lib/index.js +1 -1
  55. package/lib/ortc.d.ts.map +1 -1
  56. package/lib/ortc.js +196 -98
  57. package/lib/utils.d.ts.map +1 -1
  58. package/lib/utils.js +2 -1
  59. package/package.json +3 -3
@@ -182,8 +182,9 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
182
182
  logger.debug('restartIce()');
183
183
  // Provide the remote SDP handler with new remote ICE parameters.
184
184
  this._remoteSdp.updateIceParameters(iceParameters);
185
- if (!this._transportReady)
185
+ if (!this._transportReady) {
186
186
  return;
187
+ }
187
188
  if (this._direction === 'send') {
188
189
  const offer = await this._pc.createOffer({ iceRestart: true });
189
190
  logger.debug('restartIce() | calling pc.setLocalDescription() [offer:%o]', offer);
@@ -253,8 +254,9 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
253
254
  // Complete encodings with given values.
254
255
  if (encodings) {
255
256
  for (let idx = 0; idx < sendingRtpParameters.encodings.length; ++idx) {
256
- if (encodings[idx])
257
+ if (encodings[idx]) {
257
258
  Object.assign(sendingRtpParameters.encodings[idx], encodings[idx]);
259
+ }
258
260
  }
259
261
  }
260
262
  // If VP8 and there is effective simulcast, add scalabilityMode to each
@@ -287,8 +289,9 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
287
289
  this.assertSendDirection();
288
290
  logger.debug('stopSending() [localId:%s]', localId);
289
291
  const track = this._mapSendLocalIdTrack.get(localId);
290
- if (!track)
292
+ if (!track) {
291
293
  throw new Error('track not found');
294
+ }
292
295
  this._mapSendLocalIdTrack.delete(localId);
293
296
  this._sendStream.removeTrack(track);
294
297
  this._pc.addStream(this._sendStream);
@@ -306,8 +309,9 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
306
309
  }
307
310
  throw error;
308
311
  }
309
- if (this._pc.signalingState === 'stable')
312
+ if (this._pc.signalingState === 'stable') {
310
313
  return;
314
+ }
311
315
  const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
312
316
  logger.debug('stopSending() | calling pc.setRemoteDescription() [answer:%o]', answer);
313
317
  await this._pc.setRemoteDescription(answer);
@@ -433,8 +437,9 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
433
437
  const stream = this._pc.getRemoteStreams()
434
438
  .find((s) => s.id === streamId);
435
439
  const track = stream.getTrackById(localId);
436
- if (!track)
440
+ if (!track) {
437
441
  throw new Error('remote track not found');
442
+ }
438
443
  // Insert into the map.
439
444
  this._mapRecvLocalIdInfo.set(localId, { mid, rtpParameters });
440
445
  results.push({ localId, track });
@@ -508,8 +513,9 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
508
513
  return { dataChannel };
509
514
  }
510
515
  async setupTransport({ localDtlsRole, localSdpObject }) {
511
- if (!localSdpObject)
516
+ if (!localSdpObject) {
512
517
  localSdpObject = sdpTransform.parse(this._pc.localDescription.sdp);
518
+ }
513
519
  // Get our local DTLS parameters.
514
520
  const dtlsParameters = sdpCommonUtils.extractDtlsParameters({ sdpObject: localSdpObject });
515
521
  // Set our DTLS role.
@@ -1 +1 @@
1
- {"version":3,"file":"Chrome67.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome67.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chrome67.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome67.ts"],"names":[],"mappings":"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"}
@@ -181,8 +181,9 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
181
181
  logger.debug('restartIce()');
182
182
  // Provide the remote SDP handler with new remote ICE parameters.
183
183
  this._remoteSdp.updateIceParameters(iceParameters);
184
- if (!this._transportReady)
184
+ if (!this._transportReady) {
185
185
  return;
186
+ }
186
187
  if (this._direction === 'send') {
187
188
  const offer = await this._pc.createOffer({ iceRestart: true });
188
189
  logger.debug('restartIce() | calling pc.setLocalDescription() [offer:%o]', offer);
@@ -253,8 +254,9 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
253
254
  // Complete encodings with given values.
254
255
  if (encodings) {
255
256
  for (let idx = 0; idx < sendingRtpParameters.encodings.length; ++idx) {
256
- if (encodings[idx])
257
+ if (encodings[idx]) {
257
258
  Object.assign(sendingRtpParameters.encodings[idx], encodings[idx]);
259
+ }
258
260
  }
259
261
  }
260
262
  // If VP8 and there is effective simulcast, add scalabilityMode to each
@@ -290,11 +292,13 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
290
292
  this.assertSendDirection();
291
293
  logger.debug('stopSending() [localId:%s]', localId);
292
294
  const rtpSender = this._mapSendLocalIdRtpSender.get(localId);
293
- if (!rtpSender)
295
+ if (!rtpSender) {
294
296
  throw new Error('associated RTCRtpSender not found');
297
+ }
295
298
  this._pc.removeTrack(rtpSender);
296
- if (rtpSender.track)
299
+ if (rtpSender.track) {
297
300
  this._sendStream.removeTrack(rtpSender.track);
301
+ }
298
302
  this._mapSendLocalIdRtpSender.delete(localId);
299
303
  const offer = await this._pc.createOffer();
300
304
  logger.debug('stopSending() | calling pc.setLocalDescription() [offer:%o]', offer);
@@ -310,8 +314,9 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
310
314
  }
311
315
  throw error;
312
316
  }
313
- if (this._pc.signalingState === 'stable')
317
+ if (this._pc.signalingState === 'stable') {
314
318
  return;
319
+ }
315
320
  const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
316
321
  logger.debug('stopSending() | calling pc.setRemoteDescription() [answer:%o]', answer);
317
322
  await this._pc.setRemoteDescription(answer);
@@ -333,29 +338,35 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
333
338
  logger.debug('replaceTrack() [localId:%s, no track]', localId);
334
339
  }
335
340
  const rtpSender = this._mapSendLocalIdRtpSender.get(localId);
336
- if (!rtpSender)
341
+ if (!rtpSender) {
337
342
  throw new Error('associated RTCRtpSender not found');
343
+ }
338
344
  const oldTrack = rtpSender.track;
339
345
  await rtpSender.replaceTrack(track);
340
346
  // Remove the old track from the local stream.
341
- if (oldTrack)
347
+ if (oldTrack) {
342
348
  this._sendStream.removeTrack(oldTrack);
349
+ }
343
350
  // Add the new track to the local stream.
344
- if (track)
351
+ if (track) {
345
352
  this._sendStream.addTrack(track);
353
+ }
346
354
  }
347
355
  async setMaxSpatialLayer(localId, spatialLayer) {
348
356
  this.assertSendDirection();
349
357
  logger.debug('setMaxSpatialLayer() [localId:%s, spatialLayer:%s]', localId, spatialLayer);
350
358
  const rtpSender = this._mapSendLocalIdRtpSender.get(localId);
351
- if (!rtpSender)
359
+ if (!rtpSender) {
352
360
  throw new Error('associated RTCRtpSender not found');
361
+ }
353
362
  const parameters = rtpSender.getParameters();
354
363
  parameters.encodings.forEach((encoding, idx) => {
355
- if (idx <= spatialLayer)
364
+ if (idx <= spatialLayer) {
356
365
  encoding.active = true;
357
- else
366
+ }
367
+ else {
358
368
  encoding.active = false;
369
+ }
359
370
  });
360
371
  await rtpSender.setParameters(parameters);
361
372
  }
@@ -363,8 +374,9 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
363
374
  this.assertSendDirection();
364
375
  logger.debug('setRtpEncodingParameters() [localId:%s, params:%o]', localId, params);
365
376
  const rtpSender = this._mapSendLocalIdRtpSender.get(localId);
366
- if (!rtpSender)
377
+ if (!rtpSender) {
367
378
  throw new Error('associated RTCRtpSender not found');
379
+ }
368
380
  const parameters = rtpSender.getParameters();
369
381
  parameters.encodings.forEach((encoding, idx) => {
370
382
  parameters.encodings[idx] = { ...encoding, ...params };
@@ -374,8 +386,9 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
374
386
  async getSenderStats(localId) {
375
387
  this.assertSendDirection();
376
388
  const rtpSender = this._mapSendLocalIdRtpSender.get(localId);
377
- if (!rtpSender)
389
+ if (!rtpSender) {
378
390
  throw new Error('associated RTCRtpSender not found');
391
+ }
379
392
  return rtpSender.getStats();
380
393
  }
381
394
  async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }) {
@@ -472,8 +485,9 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
472
485
  const mid = kind;
473
486
  const rtpReceiver = this._pc.getReceivers()
474
487
  .find((r) => r.track && r.track.id === localId);
475
- if (!rtpReceiver)
488
+ if (!rtpReceiver) {
476
489
  throw new Error('new RTCRtpReceiver not');
490
+ }
477
491
  // Insert into the map.
478
492
  this._mapRecvLocalIdInfo.set(localId, { mid, rtpParameters, rtpReceiver });
479
493
  results.push({
@@ -513,8 +527,9 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
513
527
  async getReceiverStats(localId) {
514
528
  this.assertRecvDirection();
515
529
  const { rtpReceiver } = this._mapRecvLocalIdInfo.get(localId) || {};
516
- if (!rtpReceiver)
530
+ if (!rtpReceiver) {
517
531
  throw new Error('associated RTCRtpReceiver not found');
532
+ }
518
533
  return rtpReceiver.getStats();
519
534
  }
520
535
  async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
@@ -554,8 +569,9 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
554
569
  return { dataChannel };
555
570
  }
556
571
  async setupTransport({ localDtlsRole, localSdpObject }) {
557
- if (!localSdpObject)
572
+ if (!localSdpObject) {
558
573
  localSdpObject = sdpTransform.parse(this._pc.localDescription.sdp);
574
+ }
559
575
  // Get our local DTLS parameters.
560
576
  const dtlsParameters = sdpCommonUtils.extractDtlsParameters({ sdpObject: localSdpObject });
561
577
  // Set our DTLS role.
@@ -1 +1 @@
1
- {"version":3,"file":"Chrome70.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome70.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chrome70.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome70.ts"],"names":[],"mappings":"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"}
@@ -175,8 +175,9 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
175
175
  logger.debug('restartIce()');
176
176
  // Provide the remote SDP handler with new remote ICE parameters.
177
177
  this._remoteSdp.updateIceParameters(iceParameters);
178
- if (!this._transportReady)
178
+ if (!this._transportReady) {
179
179
  return;
180
+ }
180
181
  if (this._direction === 'send') {
181
182
  const offer = await this._pc.createOffer({ iceRestart: true });
182
183
  logger.debug('restartIce() | calling pc.setLocalDescription() [offer:%o]', offer);
@@ -257,8 +258,9 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
257
258
  const encoding = parameters.encodings[idx];
258
259
  const desiredEncoding = encodings[idx];
259
260
  // Should not happen but just in case.
260
- if (!desiredEncoding)
261
+ if (!desiredEncoding) {
261
262
  break;
263
+ }
262
264
  parameters.encodings[idx] = Object.assign(encoding, desiredEncoding);
263
265
  }
264
266
  await transceiver.sender.setParameters(parameters);
@@ -278,8 +280,9 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
278
280
  // Complete encodings with given values.
279
281
  if (encodings) {
280
282
  for (let idx = 0; idx < sendingRtpParameters.encodings.length; ++idx) {
281
- if (encodings[idx])
283
+ if (encodings[idx]) {
282
284
  Object.assign(sendingRtpParameters.encodings[idx], encodings[idx]);
285
+ }
283
286
  }
284
287
  }
285
288
  // Hack for VP9 SVC.
@@ -317,8 +320,9 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
317
320
  this.assertSendDirection();
318
321
  logger.debug('stopSending() [localId:%s]', localId);
319
322
  const transceiver = this._mapMidTransceiver.get(localId);
320
- if (!transceiver)
323
+ if (!transceiver) {
321
324
  throw new Error('associated RTCRtpTransceiver not found');
325
+ }
322
326
  transceiver.sender.replaceTrack(null);
323
327
  this._pc.removeTrack(transceiver.sender);
324
328
  const mediaSectionClosed = this._remoteSdp.closeMediaSection(transceiver.mid);
@@ -353,22 +357,26 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
353
357
  logger.debug('replaceTrack() [localId:%s, no track]', localId);
354
358
  }
355
359
  const transceiver = this._mapMidTransceiver.get(localId);
356
- if (!transceiver)
360
+ if (!transceiver) {
357
361
  throw new Error('associated RTCRtpTransceiver not found');
362
+ }
358
363
  await transceiver.sender.replaceTrack(track);
359
364
  }
360
365
  async setMaxSpatialLayer(localId, spatialLayer) {
361
366
  this.assertSendDirection();
362
367
  logger.debug('setMaxSpatialLayer() [localId:%s, spatialLayer:%s]', localId, spatialLayer);
363
368
  const transceiver = this._mapMidTransceiver.get(localId);
364
- if (!transceiver)
369
+ if (!transceiver) {
365
370
  throw new Error('associated RTCRtpTransceiver not found');
371
+ }
366
372
  const parameters = transceiver.sender.getParameters();
367
373
  parameters.encodings.forEach((encoding, idx) => {
368
- if (idx <= spatialLayer)
374
+ if (idx <= spatialLayer) {
369
375
  encoding.active = true;
370
- else
376
+ }
377
+ else {
371
378
  encoding.active = false;
379
+ }
372
380
  });
373
381
  await transceiver.sender.setParameters(parameters);
374
382
  this._remoteSdp.muxMediaSectionSimulcast(localId, parameters.encodings);
@@ -383,8 +391,9 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
383
391
  this.assertSendDirection();
384
392
  logger.debug('setRtpEncodingParameters() [localId:%s, params:%o]', localId, params);
385
393
  const transceiver = this._mapMidTransceiver.get(localId);
386
- if (!transceiver)
394
+ if (!transceiver) {
387
395
  throw new Error('associated RTCRtpTransceiver not found');
396
+ }
388
397
  const parameters = transceiver.sender.getParameters();
389
398
  parameters.encodings.forEach((encoding, idx) => {
390
399
  parameters.encodings[idx] = { ...encoding, ...params };
@@ -401,8 +410,9 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
401
410
  async getSenderStats(localId) {
402
411
  this.assertSendDirection();
403
412
  const transceiver = this._mapMidTransceiver.get(localId);
404
- if (!transceiver)
413
+ if (!transceiver) {
405
414
  throw new Error('associated RTCRtpTransceiver not found');
415
+ }
406
416
  return transceiver.sender.getStats();
407
417
  }
408
418
  async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }) {
@@ -500,8 +510,9 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
500
510
  const localId = mapLocalId.get(trackId);
501
511
  const transceiver = this._pc.getTransceivers()
502
512
  .find((t) => t.mid === localId);
503
- if (!transceiver)
513
+ if (!transceiver) {
504
514
  throw new Error('new RTCRtpTransceiver not found');
515
+ }
505
516
  // Store in the map.
506
517
  this._mapMidTransceiver.set(localId, transceiver);
507
518
  results.push({
@@ -517,8 +528,9 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
517
528
  for (const localId of localIds) {
518
529
  logger.debug('stopReceiving() [localId:%s]', localId);
519
530
  const transceiver = this._mapMidTransceiver.get(localId);
520
- if (!transceiver)
531
+ if (!transceiver) {
521
532
  throw new Error('associated RTCRtpTransceiver not found');
533
+ }
522
534
  this._remoteSdp.closeMediaSection(transceiver.mid);
523
535
  }
524
536
  const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
@@ -544,8 +556,9 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
544
556
  async getReceiverStats(localId) {
545
557
  this.assertRecvDirection();
546
558
  const transceiver = this._mapMidTransceiver.get(localId);
547
- if (!transceiver)
559
+ if (!transceiver) {
548
560
  throw new Error('associated RTCRtpTransceiver not found');
561
+ }
549
562
  return transceiver.receiver.getStats();
550
563
  }
551
564
  async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
@@ -585,8 +598,9 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
585
598
  return { dataChannel };
586
599
  }
587
600
  async setupTransport({ localDtlsRole, localSdpObject }) {
588
- if (!localSdpObject)
601
+ if (!localSdpObject) {
589
602
  localSdpObject = sdpTransform.parse(this._pc.localDescription.sdp);
603
+ }
590
604
  // Get our local DTLS parameters.
591
605
  const dtlsParameters = sdpCommonUtils.extractDtlsParameters({ sdpObject: localSdpObject });
592
606
  // Set our DTLS role.
@@ -1 +1 @@
1
- {"version":3,"file":"Chrome74.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome74.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chrome74.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome74.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ const utils = __importStar(require("../utils"));
30
30
  const ortc = __importStar(require("../ortc"));
31
31
  const sdpCommonUtils = __importStar(require("./sdp/commonUtils"));
32
32
  const sdpUnifiedPlanUtils = __importStar(require("./sdp/unifiedPlanUtils"));
33
+ const ortcUtils = __importStar(require("./ortc/utils"));
33
34
  const HandlerInterface_1 = require("./HandlerInterface");
34
35
  const RemoteSdp_1 = require("./sdp/RemoteSdp");
35
36
  const scalabilityModes_1 = require("../scalabilityModes");
@@ -88,6 +89,8 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
88
89
  catch (error) { }
89
90
  const sdpObject = sdpTransform.parse(offer.sdp);
90
91
  const nativeRtpCapabilities = sdpCommonUtils.extractRtpCapabilities({ sdpObject });
92
+ // libwebrtc supports NACK for OPUS but doesn't announce it.
93
+ ortcUtils.addNackSuppportForOpus(nativeRtpCapabilities);
91
94
  return nativeRtpCapabilities;
92
95
  }
93
96
  catch (error) {
@@ -175,8 +178,9 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
175
178
  logger.debug('restartIce()');
176
179
  // Provide the remote SDP handler with new remote ICE parameters.
177
180
  this._remoteSdp.updateIceParameters(iceParameters);
178
- if (!this._transportReady)
181
+ if (!this._transportReady) {
179
182
  return;
183
+ }
180
184
  if (this._direction === 'send') {
181
185
  const offer = await this._pc.createOffer({ iceRestart: true });
182
186
  logger.debug('restartIce() | calling pc.setLocalDescription() [offer:%o]', offer);
@@ -268,8 +272,9 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
268
272
  let newEncodings = sdpUnifiedPlanUtils.getRtpEncodings({ offerMediaObject });
269
273
  Object.assign(newEncodings[0], encodings[0]);
270
274
  // Hack for VP9 SVC.
271
- if (hackVp9Svc)
275
+ if (hackVp9Svc) {
272
276
  newEncodings = [newEncodings[0]];
277
+ }
273
278
  sendingRtpParameters.encodings = newEncodings;
274
279
  }
275
280
  // Otherwise if more than 1 encoding are given use them verbatim.
@@ -313,8 +318,9 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
313
318
  this.assertSendDirection();
314
319
  logger.debug('stopSending() [localId:%s]', localId);
315
320
  const transceiver = this._mapMidTransceiver.get(localId);
316
- if (!transceiver)
321
+ if (!transceiver) {
317
322
  throw new Error('associated RTCRtpTransceiver not found');
323
+ }
318
324
  transceiver.sender.replaceTrack(null);
319
325
  this._pc.removeTrack(transceiver.sender);
320
326
  const mediaSectionClosed = this._remoteSdp.closeMediaSection(transceiver.mid);
@@ -336,8 +342,9 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
336
342
  this.assertSendDirection();
337
343
  logger.debug('pauseSending() [localId:%s]', localId);
338
344
  const transceiver = this._mapMidTransceiver.get(localId);
339
- if (!transceiver)
345
+ if (!transceiver) {
340
346
  throw new Error('associated RTCRtpTransceiver not found');
347
+ }
341
348
  transceiver.direction = 'inactive';
342
349
  this._remoteSdp.pauseMediaSection(localId);
343
350
  const offer = await this._pc.createOffer();
@@ -352,8 +359,9 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
352
359
  logger.debug('resumeSending() [localId:%s]', localId);
353
360
  const transceiver = this._mapMidTransceiver.get(localId);
354
361
  this._remoteSdp.resumeSendingMediaSection(localId);
355
- if (!transceiver)
362
+ if (!transceiver) {
356
363
  throw new Error('associated RTCRtpTransceiver not found');
364
+ }
357
365
  transceiver.direction = 'sendonly';
358
366
  const offer = await this._pc.createOffer();
359
367
  logger.debug('resumeSending() | calling pc.setLocalDescription() [offer:%o]', offer);
@@ -371,22 +379,26 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
371
379
  logger.debug('replaceTrack() [localId:%s, no track]', localId);
372
380
  }
373
381
  const transceiver = this._mapMidTransceiver.get(localId);
374
- if (!transceiver)
382
+ if (!transceiver) {
375
383
  throw new Error('associated RTCRtpTransceiver not found');
384
+ }
376
385
  await transceiver.sender.replaceTrack(track);
377
386
  }
378
387
  async setMaxSpatialLayer(localId, spatialLayer) {
379
388
  this.assertSendDirection();
380
389
  logger.debug('setMaxSpatialLayer() [localId:%s, spatialLayer:%s]', localId, spatialLayer);
381
390
  const transceiver = this._mapMidTransceiver.get(localId);
382
- if (!transceiver)
391
+ if (!transceiver) {
383
392
  throw new Error('associated RTCRtpTransceiver not found');
393
+ }
384
394
  const parameters = transceiver.sender.getParameters();
385
395
  parameters.encodings.forEach((encoding, idx) => {
386
- if (idx <= spatialLayer)
396
+ if (idx <= spatialLayer) {
387
397
  encoding.active = true;
388
- else
398
+ }
399
+ else {
389
400
  encoding.active = false;
401
+ }
390
402
  });
391
403
  await transceiver.sender.setParameters(parameters);
392
404
  this._remoteSdp.muxMediaSectionSimulcast(localId, parameters.encodings);
@@ -401,8 +413,9 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
401
413
  this.assertSendDirection();
402
414
  logger.debug('setRtpEncodingParameters() [localId:%s, params:%o]', localId, params);
403
415
  const transceiver = this._mapMidTransceiver.get(localId);
404
- if (!transceiver)
416
+ if (!transceiver) {
405
417
  throw new Error('associated RTCRtpTransceiver not found');
418
+ }
406
419
  const parameters = transceiver.sender.getParameters();
407
420
  parameters.encodings.forEach((encoding, idx) => {
408
421
  parameters.encodings[idx] = { ...encoding, ...params };
@@ -419,8 +432,9 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
419
432
  async getSenderStats(localId) {
420
433
  this.assertSendDirection();
421
434
  const transceiver = this._mapMidTransceiver.get(localId);
422
- if (!transceiver)
435
+ if (!transceiver) {
423
436
  throw new Error('associated RTCRtpTransceiver not found');
437
+ }
424
438
  return transceiver.sender.getStats();
425
439
  }
426
440
  async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }) {
@@ -537,8 +551,9 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
537
551
  for (const localId of localIds) {
538
552
  logger.debug('stopReceiving() [localId:%s]', localId);
539
553
  const transceiver = this._mapMidTransceiver.get(localId);
540
- if (!transceiver)
554
+ if (!transceiver) {
541
555
  throw new Error('associated RTCRtpTransceiver not found');
556
+ }
542
557
  this._remoteSdp.closeMediaSection(transceiver.mid);
543
558
  }
544
559
  const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
@@ -556,8 +571,9 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
556
571
  for (const localId of localIds) {
557
572
  logger.debug('pauseReceiving() [localId:%s]', localId);
558
573
  const transceiver = this._mapMidTransceiver.get(localId);
559
- if (!transceiver)
574
+ if (!transceiver) {
560
575
  throw new Error('associated RTCRtpTransceiver not found');
576
+ }
561
577
  transceiver.direction = 'inactive';
562
578
  this._remoteSdp.pauseMediaSection(localId);
563
579
  }
@@ -573,8 +589,9 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
573
589
  for (const localId of localIds) {
574
590
  logger.debug('resumeReceiving() [localId:%s]', localId);
575
591
  const transceiver = this._mapMidTransceiver.get(localId);
576
- if (!transceiver)
592
+ if (!transceiver) {
577
593
  throw new Error('associated RTCRtpTransceiver not found');
594
+ }
578
595
  transceiver.direction = 'recvonly';
579
596
  this._remoteSdp.resumeReceivingMediaSection(localId);
580
597
  }
@@ -588,8 +605,9 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
588
605
  async getReceiverStats(localId) {
589
606
  this.assertRecvDirection();
590
607
  const transceiver = this._mapMidTransceiver.get(localId);
591
- if (!transceiver)
608
+ if (!transceiver) {
592
609
  throw new Error('associated RTCRtpTransceiver not found');
610
+ }
593
611
  return transceiver.receiver.getStats();
594
612
  }
595
613
  async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
@@ -628,8 +646,9 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
628
646
  return { dataChannel };
629
647
  }
630
648
  async setupTransport({ localDtlsRole, localSdpObject }) {
631
- if (!localSdpObject)
649
+ if (!localSdpObject) {
632
650
  localSdpObject = sdpTransform.parse(this._pc.localDescription.sdp);
651
+ }
633
652
  // Get our local DTLS parameters.
634
653
  const dtlsParameters = sdpCommonUtils.extractDtlsParameters({ sdpObject: localSdpObject });
635
654
  // Set our DTLS role.
@@ -1 +1 @@
1
- {"version":3,"file":"Edge11.d.ts","sourceRoot":"","sources":["../../src/handlers/Edge11.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Edge11.d.ts","sourceRoot":"","sources":["../../src/handlers/Edge11.ts"],"names":[],"mappings":"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"}