mediasoup-client 3.6.46 → 3.6.50

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 (54) hide show
  1. package/.vimrc +21 -0
  2. package/NO_GIT/Notes.txt +18 -0
  3. package/lib/Transport.d.ts +3 -0
  4. package/lib/Transport.d.ts.map +1 -1
  5. package/lib/Transport.js +110 -39
  6. package/lib/handlers/Chrome55.d.ts +1 -1
  7. package/lib/handlers/Chrome55.d.ts.map +1 -1
  8. package/lib/handlers/Chrome55.js +42 -28
  9. package/lib/handlers/Chrome67.d.ts +1 -1
  10. package/lib/handlers/Chrome67.d.ts.map +1 -1
  11. package/lib/handlers/Chrome67.js +45 -30
  12. package/lib/handlers/Chrome70.d.ts +1 -1
  13. package/lib/handlers/Chrome70.d.ts.map +1 -1
  14. package/lib/handlers/Chrome70.js +44 -29
  15. package/lib/handlers/Chrome74.d.ts +1 -1
  16. package/lib/handlers/Chrome74.d.ts.map +1 -1
  17. package/lib/handlers/Chrome74.js +47 -29
  18. package/lib/handlers/Edge11.d.ts +1 -1
  19. package/lib/handlers/Edge11.d.ts.map +1 -1
  20. package/lib/handlers/Edge11.js +28 -20
  21. package/lib/handlers/FakeHandler.d.ts +1 -1
  22. package/lib/handlers/FakeHandler.d.ts.map +1 -1
  23. package/lib/handlers/FakeHandler.js +13 -10
  24. package/lib/handlers/Firefox60.d.ts +1 -1
  25. package/lib/handlers/Firefox60.d.ts.map +1 -1
  26. package/lib/handlers/Firefox60.js +47 -30
  27. package/lib/handlers/HandlerInterface.d.ts +1 -1
  28. package/lib/handlers/HandlerInterface.d.ts.map +1 -1
  29. package/lib/handlers/ReactNative.d.ts +1 -1
  30. package/lib/handlers/ReactNative.d.ts.map +1 -1
  31. package/lib/handlers/ReactNative.js +50 -34
  32. package/lib/handlers/Safari11.d.ts +1 -1
  33. package/lib/handlers/Safari11.d.ts.map +1 -1
  34. package/lib/handlers/Safari11.js +43 -30
  35. package/lib/handlers/Safari12.d.ts +1 -1
  36. package/lib/handlers/Safari12.d.ts.map +1 -1
  37. package/lib/handlers/Safari12.js +44 -29
  38. package/lib/index.d.ts +1 -1
  39. package/lib/index.js +1 -1
  40. package/lib/ortc.js +4 -6
  41. package/package.json +10 -10
  42. package/src/Transport.ts +162 -58
  43. package/src/handlers/Chrome55.ts +52 -31
  44. package/src/handlers/Chrome67.ts +54 -33
  45. package/src/handlers/Chrome70.ts +55 -32
  46. package/src/handlers/Chrome74.ts +59 -32
  47. package/src/handlers/Edge11.ts +39 -25
  48. package/src/handlers/FakeHandler.ts +18 -10
  49. package/src/handlers/Firefox60.ts +57 -33
  50. package/src/handlers/HandlerInterface.ts +2 -2
  51. package/src/handlers/ReactNative.ts +62 -38
  52. package/src/handlers/Safari11.ts +54 -33
  53. package/src/handlers/Safari12.ts +55 -32
  54. package/src/ortc.ts +6 -8
@@ -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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"}
@@ -401,31 +401,41 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
401
401
  };
402
402
  return { dataChannel, sctpStreamParameters };
403
403
  }
404
- async receive({ trackId, kind, rtpParameters }) {
404
+ async receive(optionsList) {
405
405
  var _a;
406
406
  this._assertRecvDirection();
407
- logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
408
- const localId = rtpParameters.mid || String(this._mapMidTransceiver.size);
409
- this._remoteSdp.receive({
410
- mid: localId,
411
- kind,
412
- offerRtpParameters: rtpParameters,
413
- streamId: rtpParameters.rtcp.cname,
414
- trackId
415
- });
407
+ const results = [];
408
+ const mapLocalId = new Map();
409
+ for (const options of optionsList) {
410
+ const { trackId, kind, rtpParameters } = options;
411
+ logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
412
+ const localId = rtpParameters.mid || String(this._mapMidTransceiver.size);
413
+ mapLocalId.set(trackId, localId);
414
+ this._remoteSdp.receive({
415
+ mid: localId,
416
+ kind,
417
+ offerRtpParameters: rtpParameters,
418
+ streamId: rtpParameters.rtcp.cname,
419
+ trackId
420
+ });
421
+ }
416
422
  const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
417
423
  logger.debug('receive() | calling pc.setRemoteDescription() [offer:%o]', offer);
418
424
  await this._pc.setRemoteDescription(offer);
419
425
  let answer = await this._pc.createAnswer();
420
426
  const localSdpObject = sdpTransform.parse(answer.sdp);
421
- const answerMediaObject = localSdpObject.media
422
- .find((m) => String(m.mid) === localId);
423
- // May need to modify codec parameters in the answer based on codec
424
- // parameters in the offer.
425
- sdpCommonUtils.applyCodecParameters({
426
- offerRtpParameters: rtpParameters,
427
- answerMediaObject
428
- });
427
+ for (const options of optionsList) {
428
+ const { trackId, rtpParameters } = options;
429
+ const localId = mapLocalId.get(trackId);
430
+ const answerMediaObject = localSdpObject.media
431
+ .find((m) => String(m.mid) === localId);
432
+ // May need to modify codec parameters in the answer based on codec
433
+ // parameters in the offer.
434
+ sdpCommonUtils.applyCodecParameters({
435
+ offerRtpParameters: rtpParameters,
436
+ answerMediaObject
437
+ });
438
+ }
429
439
  answer = { type: 'answer', sdp: sdpTransform.write(localSdpObject) };
430
440
  if (!this._transportReady) {
431
441
  await this._setupTransport({
@@ -435,17 +445,25 @@ class Chrome74 extends HandlerInterface_1.HandlerInterface {
435
445
  }
436
446
  logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer);
437
447
  await this._pc.setLocalDescription(answer);
438
- const transceiver = this._pc.getTransceivers()
439
- .find((t) => t.mid === localId);
440
- if (!transceiver)
441
- throw new Error('new RTCRtpTransceiver not found');
442
- // Store in the map.
443
- this._mapMidTransceiver.set(localId, transceiver);
444
- return {
445
- localId,
446
- track: transceiver.receiver.track,
447
- rtpReceiver: transceiver.receiver
448
- };
448
+ for (const options of optionsList) {
449
+ const { trackId } = options;
450
+ const localId = mapLocalId.get(trackId);
451
+ const transceiver = this._pc.getTransceivers()
452
+ .find((t) => t.mid === localId);
453
+ if (!transceiver) {
454
+ throw new Error('new RTCRtpTransceiver not found');
455
+ }
456
+ else {
457
+ // Store in the map.
458
+ this._mapMidTransceiver.set(localId, transceiver);
459
+ results.push({
460
+ localId,
461
+ track: transceiver.receiver.track,
462
+ rtpReceiver: transceiver.receiver
463
+ });
464
+ }
465
+ }
466
+ return results;
449
467
  }
450
468
  async stopReceiving(localId) {
451
469
  this._assertRecvDirection();
@@ -39,7 +39,7 @@ export declare class Edge11 extends HandlerInterface {
39
39
  setRtpEncodingParameters(localId: string, params: any): Promise<void>;
40
40
  getSenderStats(localId: string): Promise<RTCStatsReport>;
41
41
  sendDataChannel(options: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
42
- receive({ trackId, kind, rtpParameters }: HandlerReceiveOptions): Promise<HandlerReceiveResult>;
42
+ receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
43
43
  stopReceiving(localId: string): Promise<void>;
44
44
  pauseReceiving(localId: string): Promise<void>;
45
45
  resumeReceiving(localId: string): Promise<void>;
@@ -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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"}
@@ -232,28 +232,36 @@ class Edge11 extends HandlerInterface_1.HandlerInterface {
232
232
  options) {
233
233
  throw new errors_1.UnsupportedError('not implemented');
234
234
  }
235
- async receive({ trackId, kind, rtpParameters }) {
236
- logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
235
+ async receive(optionsList) {
236
+ const results = [];
237
+ for (const options of optionsList) {
238
+ const { trackId, kind } = options;
239
+ logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
240
+ }
237
241
  if (!this._transportReady)
238
242
  await this._setupTransport({ localDtlsRole: 'server' });
239
- logger.debug('receive() | calling new RTCRtpReceiver()');
240
- const rtpReceiver = new RTCRtpReceiver(this._dtlsTransport, kind);
241
- rtpReceiver.addEventListener('error', (event) => {
242
- logger.error('rtpReceiver "error" event [event:%o]', event);
243
- });
244
- // NOTE: Convert our standard RTCRtpParameters into those that Edge
245
- // expects.
246
- const edgeRtpParameters = edgeUtils.mangleRtpParameters(rtpParameters);
247
- logger.debug('receive() | calling rtpReceiver.receive() [params:%o]', edgeRtpParameters);
248
- await rtpReceiver.receive(edgeRtpParameters);
249
- const localId = trackId;
250
- // Store it.
251
- this._rtpReceivers.set(localId, rtpReceiver);
252
- return {
253
- localId,
254
- track: rtpReceiver.track,
255
- rtpReceiver
256
- };
243
+ for (const options of optionsList) {
244
+ const { trackId, kind, rtpParameters } = options;
245
+ logger.debug('receive() | calling new RTCRtpReceiver()');
246
+ const rtpReceiver = new RTCRtpReceiver(this._dtlsTransport, kind);
247
+ rtpReceiver.addEventListener('error', (event) => {
248
+ logger.error('rtpReceiver "error" event [event:%o]', event);
249
+ });
250
+ // NOTE: Convert our standard RTCRtpParameters into those that Edge
251
+ // expects.
252
+ const edgeRtpParameters = edgeUtils.mangleRtpParameters(rtpParameters);
253
+ logger.debug('receive() | calling rtpReceiver.receive() [params:%o]', edgeRtpParameters);
254
+ await rtpReceiver.receive(edgeRtpParameters);
255
+ const localId = trackId;
256
+ // Store it.
257
+ this._rtpReceivers.set(localId, rtpReceiver);
258
+ results.push({
259
+ localId,
260
+ track: rtpReceiver.track,
261
+ rtpReceiver
262
+ });
263
+ }
264
+ return results;
257
265
  }
258
266
  async stopReceiving(localId) {
259
267
  logger.debug('stopReceiving() [localId:%s]', localId);
@@ -36,7 +36,7 @@ export declare class FakeHandler extends HandlerInterface {
36
36
  setRtpEncodingParameters(localId: string, params: any): Promise<void>;
37
37
  getSenderStats(localId: string): Promise<RTCStatsReport>;
38
38
  sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
39
- receive({ trackId, kind, rtpParameters }: HandlerReceiveOptions): Promise<HandlerReceiveResult>;
39
+ receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
40
40
  stopReceiving(localId: string): Promise<void>;
41
41
  pauseReceiving(localId: string): Promise<void>;
42
42
  resumeReceiving(localId: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"FakeHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/FakeHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FakeHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/FakeHandler.ts"],"names":[],"mappings":"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"}
@@ -189,16 +189,19 @@ class FakeHandler extends HandlerInterface_1.HandlerInterface {
189
189
  // @ts-ignore.
190
190
  return { dataChannel, sctpStreamParameters };
191
191
  }
192
- async receive(
193
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
194
- { trackId, kind, rtpParameters }) {
195
- if (!this._transportReady)
196
- await this._setupTransport({ localDtlsRole: 'client' });
197
- logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
198
- const localId = this._nextLocalId++;
199
- const track = new fake_mediastreamtrack_1.FakeMediaStreamTrack({ kind });
200
- this._tracks.set(localId, track);
201
- return { localId: String(localId), track };
192
+ async receive(optionsList) {
193
+ const results = [];
194
+ for (const options of optionsList) {
195
+ const { trackId, kind } = options;
196
+ if (!this._transportReady)
197
+ await this._setupTransport({ localDtlsRole: 'client' });
198
+ logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
199
+ const localId = this._nextLocalId++;
200
+ const track = new fake_mediastreamtrack_1.FakeMediaStreamTrack({ kind });
201
+ this._tracks.set(localId, track);
202
+ results.push({ localId: String(localId), track });
203
+ }
204
+ return results;
202
205
  }
203
206
  async stopReceiving(localId) {
204
207
  logger.debug('stopReceiving() [localId:%s]', localId);
@@ -33,7 +33,7 @@ export declare class Firefox60 extends HandlerInterface {
33
33
  setRtpEncodingParameters(localId: string, params: any): Promise<void>;
34
34
  getSenderStats(localId: string): Promise<RTCStatsReport>;
35
35
  sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
36
- receive({ trackId, kind, rtpParameters }: HandlerReceiveOptions): Promise<HandlerReceiveResult>;
36
+ receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
37
37
  stopReceiving(localId: string): Promise<void>;
38
38
  pauseReceiving(localId: string): Promise<void>;
39
39
  resumeReceiving(localId: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"Firefox60.d.ts","sourceRoot":"","sources":["../../src/handlers/Firefox60.ts"],"names":[],"mappings":"AAOA,OAAO,EACN,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,EAChC,+BAA+B,EAC/B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAY,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,eAAe,EAAiB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAM3E,qBAAa,SAAU,SAAQ,gBAAgB;IAG9C,OAAO,CAAC,UAAU,CAAC,CAAkB;IAErC,OAAO,CAAC,UAAU,CAAC,CAAY;IAE/B,OAAO,CAAC,2BAA2B,CAAC,CAAmC;IAGvE,OAAO,CAAC,iCAAiC,CAAC,CAAmC;IAE7E,OAAO,CAAC,GAAG,CAAM;IAEjB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CACxB;IAEX,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD,OAAO,CAAC,2BAA2B,CAAS;IAE5C,OAAO,CAAC,qBAAqB,CAAK;IAElC,OAAO,CAAC,eAAe,CAAS;IAEhC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,cAAc;;IAUtC,IAAI,IAAI,IAAI,MAAM,CAGjB;IAED,KAAK,IAAI,IAAI;IAYP,wBAAwB,IAAI,OAAO,CAAC,eAAe,CAAC;IAqEpD,yBAAyB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAS5D,GAAG,CACF,EACC,SAAS,EACT,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,EAAE,iBAAiB,GAClB,IAAI;IA8DD,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDvD,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAK5C,IAAI,CACT,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAC3D,OAAO,CAAC,iBAAiB,CAAC;IAsJvB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC3C,YAAY,CACjB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7C,OAAO,CAAC,IAAI,CAAC;IAsBV,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BxE,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBrE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAYxD,eAAe,CACpB,EACC,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,QAAQ,EACR,EAAE,6BAA6B,GAC9B,OAAO,CAAC,4BAA4B,CAAC;IAgElC,OAAO,CACZ,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,qBAAqB,GACrD,OAAO,CAAC,oBAAoB,CAAC;IAiE1B,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC7C,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B9C,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B/C,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAY1D,kBAAkB,CACvB,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,gCAAgC,GACzE,OAAO,CAAC,+BAA+B,CAAC;YA4D7B,eAAe;IA+B7B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,oBAAoB;CAQ5B"}
1
+ {"version":3,"file":"Firefox60.d.ts","sourceRoot":"","sources":["../../src/handlers/Firefox60.ts"],"names":[],"mappings":"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"}
@@ -411,46 +411,63 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
411
411
  };
412
412
  return { dataChannel, sctpStreamParameters };
413
413
  }
414
- async receive({ trackId, kind, rtpParameters }) {
414
+ async receive(
415
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
416
+ optionsList) {
415
417
  this._assertRecvDirection();
416
- logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
417
- const localId = rtpParameters.mid || String(this._mapMidTransceiver.size);
418
- this._remoteSdp.receive({
419
- mid: localId,
420
- kind,
421
- offerRtpParameters: rtpParameters,
422
- streamId: rtpParameters.rtcp.cname,
423
- trackId
424
- });
418
+ const results = [];
419
+ const mapLocalId = new Map();
420
+ for (const options of optionsList) {
421
+ const { trackId, kind, rtpParameters } = options;
422
+ logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
423
+ const localId = rtpParameters.mid || String(this._mapMidTransceiver.size);
424
+ mapLocalId.set(trackId, localId);
425
+ this._remoteSdp.receive({
426
+ mid: localId,
427
+ kind,
428
+ offerRtpParameters: rtpParameters,
429
+ streamId: rtpParameters.rtcp.cname,
430
+ trackId
431
+ });
432
+ }
425
433
  const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
426
434
  logger.debug('receive() | calling pc.setRemoteDescription() [offer:%o]', offer);
427
435
  await this._pc.setRemoteDescription(offer);
428
436
  let answer = await this._pc.createAnswer();
429
437
  const localSdpObject = sdpTransform.parse(answer.sdp);
430
- const answerMediaObject = localSdpObject.media
431
- .find((m) => String(m.mid) === localId);
432
- // May need to modify codec parameters in the answer based on codec
433
- // parameters in the offer.
434
- sdpCommonUtils.applyCodecParameters({
435
- offerRtpParameters: rtpParameters,
436
- answerMediaObject
437
- });
438
- answer = { type: 'answer', sdp: sdpTransform.write(localSdpObject) };
438
+ for (const options of optionsList) {
439
+ const { trackId, rtpParameters } = options;
440
+ const localId = mapLocalId.get(trackId);
441
+ const answerMediaObject = localSdpObject.media
442
+ .find((m) => String(m.mid) === localId);
443
+ // May need to modify codec parameters in the answer based on codec
444
+ // parameters in the offer.
445
+ sdpCommonUtils.applyCodecParameters({
446
+ offerRtpParameters: rtpParameters,
447
+ answerMediaObject
448
+ });
449
+ answer = { type: 'answer', sdp: sdpTransform.write(localSdpObject) };
450
+ }
439
451
  if (!this._transportReady)
440
452
  await this._setupTransport({ localDtlsRole: 'client', localSdpObject });
441
453
  logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer);
442
454
  await this._pc.setLocalDescription(answer);
443
- const transceiver = this._pc.getTransceivers()
444
- .find((t) => t.mid === localId);
445
- if (!transceiver)
446
- throw new Error('new RTCRtpTransceiver not found');
447
- // Store in the map.
448
- this._mapMidTransceiver.set(localId, transceiver);
449
- return {
450
- localId,
451
- track: transceiver.receiver.track,
452
- rtpReceiver: transceiver.receiver
453
- };
455
+ for (const options of optionsList) {
456
+ const { trackId } = options;
457
+ const localId = mapLocalId.get(trackId);
458
+ const transceiver = this._pc.getTransceivers()
459
+ .find((t) => t.mid === localId);
460
+ if (!transceiver)
461
+ throw new Error('new RTCRtpTransceiver not found');
462
+ // Store in the map.
463
+ this._mapMidTransceiver.set(localId, transceiver);
464
+ results.push({
465
+ localId,
466
+ track: transceiver.receiver.track,
467
+ rtpReceiver: transceiver.receiver
468
+ });
469
+ }
470
+ return results;
454
471
  }
455
472
  async stopReceiving(localId) {
456
473
  this._assertRecvDirection();
@@ -75,7 +75,7 @@ export declare abstract class HandlerInterface extends EnhancedEventEmitter {
75
75
  abstract setRtpEncodingParameters(localId: string, params: any): Promise<void>;
76
76
  abstract getSenderStats(localId: string): Promise<RTCStatsReport>;
77
77
  abstract sendDataChannel(options: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
78
- abstract receive(options: HandlerReceiveOptions): Promise<HandlerReceiveResult>;
78
+ abstract receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
79
79
  abstract stopReceiving(localId: string): Promise<void>;
80
80
  abstract pauseReceiving(localId: string): Promise<void>;
81
81
  abstract resumeReceiving(localId: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"HandlerInterface.d.ts","sourceRoot":"","sources":["../../src/handlers/HandlerInterface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HandlerInterface.d.ts","sourceRoot":"","sources":["../../src/handlers/HandlerInterface.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ export declare class ReactNative extends HandlerInterface {
36
36
  setRtpEncodingParameters(localId: string, params: any): Promise<void>;
37
37
  getSenderStats(localId: string): Promise<RTCStatsReport>;
38
38
  sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
39
- receive({ trackId, kind, rtpParameters }: HandlerReceiveOptions): Promise<HandlerReceiveResult>;
39
+ receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
40
40
  stopReceiving(localId: string): Promise<void>;
41
41
  pauseReceiving(localId: string): Promise<void>;
42
42
  resumeReceiving(localId: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"ReactNative.d.ts","sourceRoot":"","sources":["../../src/handlers/ReactNative.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReactNative.d.ts","sourceRoot":"","sources":["../../src/handlers/ReactNative.ts"],"names":[],"mappings":"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"}
@@ -369,39 +369,48 @@ class ReactNative extends HandlerInterface_1.HandlerInterface {
369
369
  };
370
370
  return { dataChannel, sctpStreamParameters };
371
371
  }
372
- async receive({ trackId, kind, rtpParameters }) {
372
+ async receive(optionsList) {
373
373
  var _a;
374
374
  this._assertRecvDirection();
375
- logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
376
- const localId = trackId;
377
- const mid = kind;
378
- let streamId = rtpParameters.rtcp.cname;
379
- // NOTE: In React-Native we cannot reuse the same remote MediaStream for new
380
- // remote tracks. This is because react-native-webrtc does not react on new
381
- // tracks generated within already existing streams, so force the streamId
382
- // to be different.
383
- logger.debug('receive() | forcing a random remote streamId to avoid well known bug in react-native-webrtc');
384
- streamId += `-hack-${utils.generateRandomNumber()}`;
385
- this._remoteSdp.receive({
386
- mid,
387
- kind,
388
- offerRtpParameters: rtpParameters,
389
- streamId,
390
- trackId
391
- });
375
+ const results = [];
376
+ const mapStreamId = new Map();
377
+ for (const options of optionsList) {
378
+ const { trackId, kind, rtpParameters } = options;
379
+ logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
380
+ const mid = kind;
381
+ let streamId = rtpParameters.rtcp.cname;
382
+ // NOTE: In React-Native we cannot reuse the same remote MediaStream for new
383
+ // remote tracks. This is because react-native-webrtc does not react on new
384
+ // tracks generated within already existing streams, so force the streamId
385
+ // to be different.
386
+ logger.debug('receive() | forcing a random remote streamId to avoid well known bug in react-native-webrtc');
387
+ streamId += `-hack-${utils.generateRandomNumber()}`;
388
+ mapStreamId.set(trackId, streamId);
389
+ this._remoteSdp.receive({
390
+ mid,
391
+ kind,
392
+ offerRtpParameters: rtpParameters,
393
+ streamId,
394
+ trackId
395
+ });
396
+ }
392
397
  const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
393
398
  logger.debug('receive() | calling pc.setRemoteDescription() [offer:%o]', offer);
394
399
  await this._pc.setRemoteDescription(offer);
395
400
  let answer = await this._pc.createAnswer();
396
401
  const localSdpObject = sdpTransform.parse(answer.sdp);
397
- const answerMediaObject = localSdpObject.media
398
- .find((m) => String(m.mid) === mid);
399
- // May need to modify codec parameters in the answer based on codec
400
- // parameters in the offer.
401
- sdpCommonUtils.applyCodecParameters({
402
- offerRtpParameters: rtpParameters,
403
- answerMediaObject
404
- });
402
+ for (const options of optionsList) {
403
+ const { kind, rtpParameters } = options;
404
+ const mid = kind;
405
+ const answerMediaObject = localSdpObject.media
406
+ .find((m) => String(m.mid) === mid);
407
+ // May need to modify codec parameters in the answer based on codec
408
+ // parameters in the offer.
409
+ sdpCommonUtils.applyCodecParameters({
410
+ offerRtpParameters: rtpParameters,
411
+ answerMediaObject
412
+ });
413
+ }
405
414
  answer = { type: 'answer', sdp: sdpTransform.write(localSdpObject) };
406
415
  if (!this._transportReady) {
407
416
  await this._setupTransport({
@@ -411,14 +420,21 @@ class ReactNative extends HandlerInterface_1.HandlerInterface {
411
420
  }
412
421
  logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer);
413
422
  await this._pc.setLocalDescription(answer);
414
- const stream = this._pc.getRemoteStreams()
415
- .find((s) => s.id === streamId);
416
- const track = stream.getTrackById(localId);
417
- if (!track)
418
- throw new Error('remote track not found');
419
- // Insert into the map.
420
- this._mapRecvLocalIdInfo.set(localId, { mid, rtpParameters });
421
- return { localId, track };
423
+ for (const options of optionsList) {
424
+ const { kind, trackId, rtpParameters } = options;
425
+ const localId = trackId;
426
+ const mid = kind;
427
+ const streamId = mapStreamId.get(trackId);
428
+ const stream = this._pc.getRemoteStreams()
429
+ .find((s) => s.id === streamId);
430
+ const track = stream.getTrackById(localId);
431
+ if (!track)
432
+ throw new Error('remote track not found');
433
+ // Insert into the map.
434
+ this._mapRecvLocalIdInfo.set(localId, { mid, rtpParameters });
435
+ results.push({ localId, track });
436
+ }
437
+ return results;
422
438
  }
423
439
  async stopReceiving(localId) {
424
440
  this._assertRecvDirection();
@@ -36,7 +36,7 @@ export declare class Safari11 extends HandlerInterface {
36
36
  setRtpEncodingParameters(localId: string, params: any): Promise<void>;
37
37
  getSenderStats(localId: string): Promise<RTCStatsReport>;
38
38
  sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
39
- receive({ trackId, kind, rtpParameters }: HandlerReceiveOptions): Promise<HandlerReceiveResult>;
39
+ receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
40
40
  stopReceiving(localId: string): Promise<void>;
41
41
  getReceiverStats(localId: string): Promise<RTCStatsReport>;
42
42
  pauseReceiving(localId: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"Safari11.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari11.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Safari11.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari11.ts"],"names":[],"mappings":"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"}