mediasoup-client 3.9.2 → 3.9.4

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 (98) hide show
  1. package/lib/Consumer.d.ts +2 -2
  2. package/lib/Consumer.d.ts.map +1 -1
  3. package/lib/Consumer.js +20 -4
  4. package/lib/DataConsumer.d.ts +2 -2
  5. package/lib/DataConsumer.d.ts.map +1 -1
  6. package/lib/DataConsumer.js +14 -4
  7. package/lib/DataProducer.d.ts +2 -2
  8. package/lib/DataProducer.d.ts.map +1 -1
  9. package/lib/DataProducer.js +12 -4
  10. package/lib/Device.d.ts +5 -5
  11. package/lib/Device.d.ts.map +1 -1
  12. package/lib/Device.js +22 -41
  13. package/lib/Logger.d.ts +0 -1
  14. package/lib/Logger.d.ts.map +1 -1
  15. package/lib/Logger.js +4 -4
  16. package/lib/Producer.d.ts +2 -2
  17. package/lib/Producer.d.ts.map +1 -1
  18. package/lib/Producer.js +28 -4
  19. package/lib/Transport.d.ts +8 -8
  20. package/lib/Transport.d.ts.map +1 -1
  21. package/lib/Transport.js +60 -78
  22. package/lib/enhancedEvents.d.ts +1 -1
  23. package/lib/enhancedEvents.d.ts.map +1 -1
  24. package/lib/handlers/Chrome111.d.ts +4 -4
  25. package/lib/handlers/Chrome111.d.ts.map +1 -1
  26. package/lib/handlers/Chrome111.js +37 -52
  27. package/lib/handlers/Chrome55.d.ts +4 -4
  28. package/lib/handlers/Chrome55.d.ts.map +1 -1
  29. package/lib/handlers/Chrome55.js +39 -53
  30. package/lib/handlers/Chrome67.d.ts +4 -4
  31. package/lib/handlers/Chrome67.d.ts.map +1 -1
  32. package/lib/handlers/Chrome67.js +39 -53
  33. package/lib/handlers/Chrome70.d.ts +4 -4
  34. package/lib/handlers/Chrome70.d.ts.map +1 -1
  35. package/lib/handlers/Chrome70.js +34 -48
  36. package/lib/handlers/Chrome74.d.ts +4 -4
  37. package/lib/handlers/Chrome74.d.ts.map +1 -1
  38. package/lib/handlers/Chrome74.js +37 -52
  39. package/lib/handlers/Edge11.d.ts +4 -4
  40. package/lib/handlers/Edge11.d.ts.map +1 -1
  41. package/lib/handlers/Edge11.js +27 -44
  42. package/lib/handlers/FakeHandler.d.ts +4 -4
  43. package/lib/handlers/FakeHandler.d.ts.map +1 -1
  44. package/lib/handlers/FakeHandler.js +25 -48
  45. package/lib/handlers/Firefox120.d.ts +4 -4
  46. package/lib/handlers/Firefox120.d.ts.map +1 -1
  47. package/lib/handlers/Firefox120.js +33 -51
  48. package/lib/handlers/Firefox60.d.ts +4 -4
  49. package/lib/handlers/Firefox60.d.ts.map +1 -1
  50. package/lib/handlers/Firefox60.js +33 -51
  51. package/lib/handlers/HandlerInterface.d.ts +5 -5
  52. package/lib/handlers/HandlerInterface.d.ts.map +1 -1
  53. package/lib/handlers/ReactNative.d.ts +4 -4
  54. package/lib/handlers/ReactNative.d.ts.map +1 -1
  55. package/lib/handlers/ReactNative.js +39 -53
  56. package/lib/handlers/ReactNativeUnifiedPlan.d.ts +4 -4
  57. package/lib/handlers/ReactNativeUnifiedPlan.d.ts.map +1 -1
  58. package/lib/handlers/ReactNativeUnifiedPlan.js +37 -52
  59. package/lib/handlers/Safari11.d.ts +4 -4
  60. package/lib/handlers/Safari11.d.ts.map +1 -1
  61. package/lib/handlers/Safari11.js +39 -53
  62. package/lib/handlers/Safari12.d.ts +4 -4
  63. package/lib/handlers/Safari12.d.ts.map +1 -1
  64. package/lib/handlers/Safari12.js +37 -51
  65. package/lib/handlers/ortc/edgeUtils.d.ts +1 -1
  66. package/lib/handlers/ortc/edgeUtils.d.ts.map +1 -1
  67. package/lib/handlers/ortc/edgeUtils.js +2 -35
  68. package/lib/handlers/ortc/utils.d.ts +1 -1
  69. package/lib/handlers/ortc/utils.d.ts.map +1 -1
  70. package/lib/handlers/sdp/MediaSection.d.ts +5 -6
  71. package/lib/handlers/sdp/MediaSection.d.ts.map +1 -1
  72. package/lib/handlers/sdp/MediaSection.js +10 -39
  73. package/lib/handlers/sdp/RemoteSdp.d.ts +9 -6
  74. package/lib/handlers/sdp/RemoteSdp.d.ts.map +1 -1
  75. package/lib/handlers/sdp/RemoteSdp.js +29 -40
  76. package/lib/handlers/sdp/commonUtils.d.ts +2 -2
  77. package/lib/handlers/sdp/commonUtils.d.ts.map +1 -1
  78. package/lib/handlers/sdp/commonUtils.js +4 -37
  79. package/lib/handlers/sdp/plainRtpUtils.d.ts +1 -1
  80. package/lib/handlers/sdp/plainRtpUtils.d.ts.map +1 -1
  81. package/lib/handlers/sdp/planBUtils.d.ts +1 -1
  82. package/lib/handlers/sdp/planBUtils.d.ts.map +1 -1
  83. package/lib/handlers/sdp/unifiedPlanUtils.d.ts +1 -1
  84. package/lib/handlers/sdp/unifiedPlanUtils.d.ts.map +1 -1
  85. package/lib/index.d.ts +15 -5
  86. package/lib/index.d.ts.map +1 -1
  87. package/lib/index.js +26 -44
  88. package/lib/ortc.d.ts +2 -2
  89. package/lib/ortc.d.ts.map +1 -1
  90. package/lib/ortc.js +2 -35
  91. package/lib/test/fakeParameters.d.ts +1 -1
  92. package/lib/test/fakeParameters.d.ts.map +1 -1
  93. package/lib/test/fakeParameters.js +1 -34
  94. package/lib/test/test.js +20 -53
  95. package/lib/test/uaTestCases.d.ts +1 -1
  96. package/lib/test/uaTestCases.d.ts.map +1 -1
  97. package/npm-scripts.mjs +34 -28
  98. package/package.json +31 -29
@@ -1,46 +1,13 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  Object.defineProperty(exports, "__esModule", { value: true });
36
3
  exports.Safari12 = void 0;
37
- const sdpTransform = __importStar(require("sdp-transform"));
4
+ const sdpTransform = require("sdp-transform");
38
5
  const Logger_1 = require("../Logger");
39
- const utils = __importStar(require("../utils"));
40
- const ortc = __importStar(require("../ortc"));
41
- const sdpCommonUtils = __importStar(require("./sdp/commonUtils"));
42
- const sdpUnifiedPlanUtils = __importStar(require("./sdp/unifiedPlanUtils"));
43
- const ortcUtils = __importStar(require("./ortc/utils"));
6
+ const utils = require("../utils");
7
+ const ortc = require("../ortc");
8
+ const sdpCommonUtils = require("./sdp/commonUtils");
9
+ const sdpUnifiedPlanUtils = require("./sdp/unifiedPlanUtils");
10
+ const ortcUtils = require("./ortc/utils");
44
11
  const errors_1 = require("../errors");
45
12
  const HandlerInterface_1 = require("./HandlerInterface");
46
13
  const RemoteSdp_1 = require("./sdp/RemoteSdp");
@@ -49,6 +16,32 @@ const logger = new Logger_1.Logger('Safari12');
49
16
  const NAME = 'Safari12';
50
17
  const SCTP_NUM_STREAMS = { OS: 1024, MIS: 1024 };
51
18
  class Safari12 extends HandlerInterface_1.HandlerInterface {
19
+ // Closed flag.
20
+ _closed = false;
21
+ // Handler direction.
22
+ _direction;
23
+ // Remote SDP handler.
24
+ _remoteSdp;
25
+ // Generic sending RTP parameters for audio and video.
26
+ _sendingRtpParametersByKind;
27
+ // Generic sending RTP parameters for audio and video suitable for the SDP
28
+ // remote answer.
29
+ _sendingRemoteRtpParametersByKind;
30
+ // Initial server side DTLS role. If not 'auto', it will force the opposite
31
+ // value in client side.
32
+ _forcedLocalDtlsRole;
33
+ // RTCPeerConnection instance.
34
+ _pc;
35
+ // Map of RTCTransceivers indexed by MID.
36
+ _mapMidTransceiver = new Map();
37
+ // Local stream for sending.
38
+ _sendStream = new MediaStream();
39
+ // Whether a DataChannel m=application section has been created.
40
+ _hasDataChannelMediaSection = false;
41
+ // Sending DataChannel id value counter. Incremented for each new DataChannel.
42
+ _nextSendSctpStreamId = 0;
43
+ // Got transport local and remote parameters.
44
+ _transportReady = false;
52
45
  /**
53
46
  * Creates a factory function.
54
47
  */
@@ -57,18 +50,6 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
57
50
  }
58
51
  constructor() {
59
52
  super();
60
- // Closed flag.
61
- this._closed = false;
62
- // Map of RTCTransceivers indexed by MID.
63
- this._mapMidTransceiver = new Map();
64
- // Local stream for sending.
65
- this._sendStream = new MediaStream();
66
- // Whether a DataChannel m=application section has been created.
67
- this._hasDataChannelMediaSection = false;
68
- // Sending DataChannel id value counter. Incremented for each new DataChannel.
69
- this._nextSendSctpStreamId = 0;
70
- // Got transport local and remote parameters.
71
- this._transportReady = false;
72
53
  }
73
54
  get name() {
74
55
  return NAME;
@@ -251,6 +232,11 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
251
232
  }
252
233
  let offer = await this._pc.createOffer();
253
234
  let localSdpObject = sdpTransform.parse(offer.sdp);
235
+ // @ts-expect-error --- sdpTransform.SessionDescription type doesn't
236
+ // define extmapAllowMixed field.
237
+ if (localSdpObject.extmapAllowMixed) {
238
+ this._remoteSdp.setSessionExtmapAllowMixed();
239
+ }
254
240
  let offerMediaObject;
255
241
  if (!this._transportReady) {
256
242
  await this.setupTransport({
@@ -1,4 +1,4 @@
1
- import { RtpCapabilities, RtpParameters } from '../../RtpParameters';
1
+ import type { RtpCapabilities, RtpParameters } from '../../RtpParameters';
2
2
  /**
3
3
  * Normalize ORTC based Edge's RTCRtpReceiver.getCapabilities() to produce a full
4
4
  * compliant ORTC RTCRtpCapabilities.
@@ -1 +1 @@
1
- {"version":3,"file":"edgeUtils.d.ts","sourceRoot":"","sources":["../../../src/handlers/ortc/edgeUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAErE;;;GAGG;AACH,wBAAgB,eAAe,IAAI,eAAe,CAuCjD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,aAAa,EAAE,aAAa,GAC1B,aAAa,CA+Bf"}
1
+ {"version":3,"file":"edgeUtils.d.ts","sourceRoot":"","sources":["../../../src/handlers/ortc/edgeUtils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE1E;;;GAGG;AACH,wBAAgB,eAAe,IAAI,eAAe,CAuCjD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAClC,aAAa,EAAE,aAAa,GAC1B,aAAa,CA+Bf"}
@@ -1,41 +1,8 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  Object.defineProperty(exports, "__esModule", { value: true });
36
3
  exports.getCapabilities = getCapabilities;
37
4
  exports.mangleRtpParameters = mangleRtpParameters;
38
- const utils = __importStar(require("../../utils"));
5
+ const utils = require("../../utils");
39
6
  /**
40
7
  * Normalize ORTC based Edge's RTCRtpReceiver.getCapabilities() to produce a full
41
8
  * compliant ORTC RTCRtpCapabilities.
@@ -96,7 +63,7 @@ function mangleRtpParameters(rtpParameters) {
96
63
  codec.name = codec.mimeType.split('/')[1];
97
64
  }
98
65
  // Remove mimeType.
99
- // @ts-expect-error --- On purpose.
66
+ // @ts-expect-error --- Removing mandatory field.
100
67
  delete codec.mimeType;
101
68
  }
102
69
  return params;
@@ -1,4 +1,4 @@
1
- import { RtpCapabilities } from '../../RtpParameters';
1
+ import type { RtpCapabilities } from '../../RtpParameters';
2
2
  /**
3
3
  * This function adds RTCP NACK support for OPUS codec in given capabilities.
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/handlers/ortc/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI,CAc5E"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/handlers/ortc/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI,CAc5E"}
@@ -1,7 +1,7 @@
1
- import { IceParameters, IceCandidate, DtlsParameters, DtlsRole, PlainRtpParameters } from '../../Transport';
2
- import { ProducerCodecOptions } from '../../Producer';
3
- import { MediaKind, RtpParameters } from '../../RtpParameters';
4
- import { SctpParameters } from '../../SctpParameters';
1
+ import type { IceParameters, IceCandidate, DtlsParameters, DtlsRole, PlainRtpParameters } from '../../Transport';
2
+ import type { ProducerCodecOptions } from '../../Producer';
3
+ import type { MediaKind, RtpParameters } from '../../RtpParameters';
4
+ import type { SctpParameters } from '../../SctpParameters';
5
5
  export declare abstract class MediaSection {
6
6
  protected readonly _mediaObject: any;
7
7
  protected readonly _planB: boolean;
@@ -22,7 +22,7 @@ export declare abstract class MediaSection {
22
22
  close(): void;
23
23
  }
24
24
  export declare class AnswerMediaSection extends MediaSection {
25
- constructor({ iceParameters, iceCandidates, dtlsParameters, sctpParameters, plainRtpParameters, planB, offerMediaObject, offerRtpParameters, answerRtpParameters, codecOptions, extmapAllowMixed, }: {
25
+ constructor({ iceParameters, iceCandidates, dtlsParameters, sctpParameters, plainRtpParameters, planB, offerMediaObject, offerRtpParameters, answerRtpParameters, codecOptions, }: {
26
26
  iceParameters?: IceParameters;
27
27
  iceCandidates?: IceCandidate[];
28
28
  dtlsParameters?: DtlsParameters;
@@ -33,7 +33,6 @@ export declare class AnswerMediaSection extends MediaSection {
33
33
  offerRtpParameters?: RtpParameters;
34
34
  answerRtpParameters?: RtpParameters;
35
35
  codecOptions?: ProducerCodecOptions;
36
- extmapAllowMixed?: boolean;
37
36
  });
38
37
  setDtlsRole(role: DtlsRole): void;
39
38
  resume(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"MediaSection.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/MediaSection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MediaSection.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/MediaSection.ts"],"names":[],"mappings":"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"}
@@ -1,42 +1,13 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  Object.defineProperty(exports, "__esModule", { value: true });
36
3
  exports.OfferMediaSection = exports.AnswerMediaSection = exports.MediaSection = void 0;
37
- const sdpTransform = __importStar(require("sdp-transform"));
38
- const utils = __importStar(require("../../utils"));
4
+ const sdpTransform = require("sdp-transform");
5
+ const utils = require("../../utils");
39
6
  class MediaSection {
7
+ // SDP media object.
8
+ _mediaObject;
9
+ // Whether this is Plan-B SDP.
10
+ _planB;
40
11
  constructor({ iceParameters, iceCandidates, dtlsParameters, planB = false, }) {
41
12
  this._mediaObject = {};
42
13
  this._planB = planB;
@@ -103,7 +74,7 @@ class MediaSection {
103
74
  }
104
75
  exports.MediaSection = MediaSection;
105
76
  class AnswerMediaSection extends MediaSection {
106
- constructor({ iceParameters, iceCandidates, dtlsParameters, sctpParameters, plainRtpParameters, planB = false, offerMediaObject, offerRtpParameters, answerRtpParameters, codecOptions, extmapAllowMixed = false, }) {
77
+ constructor({ iceParameters, iceCandidates, dtlsParameters, sctpParameters, plainRtpParameters, planB = false, offerMediaObject, offerRtpParameters, answerRtpParameters, codecOptions, }) {
107
78
  super({ iceParameters, iceCandidates, dtlsParameters, planB });
108
79
  this._mediaObject.mid = String(offerMediaObject.mid);
109
80
  this._mediaObject.type = offerMediaObject.type;
@@ -231,9 +202,9 @@ class AnswerMediaSection extends MediaSection {
231
202
  value: ext.id,
232
203
  });
233
204
  }
234
- // Allow both 1 byte and 2 bytes length header extensions.
235
- if (extmapAllowMixed &&
236
- offerMediaObject.extmapAllowMixed === 'extmap-allow-mixed') {
205
+ // Allow both 1 byte and 2 bytes length header extensions since
206
+ // mediasoup can receive both at any time.
207
+ if (offerMediaObject.extmapAllowMixed === 'extmap-allow-mixed') {
237
208
  this._mediaObject.extmapAllowMixed = 'extmap-allow-mixed';
238
209
  }
239
210
  // Simulcast.
@@ -1,8 +1,8 @@
1
1
  import { MediaSection } from './MediaSection';
2
- import { IceParameters, IceCandidate, DtlsParameters, DtlsRole, PlainRtpParameters } from '../../Transport';
3
- import { ProducerCodecOptions } from '../../Producer';
4
- import { MediaKind, RtpParameters } from '../../RtpParameters';
5
- import { SctpParameters } from '../../SctpParameters';
2
+ import type { IceParameters, IceCandidate, DtlsParameters, DtlsRole, PlainRtpParameters } from '../../Transport';
3
+ import type { ProducerCodecOptions } from '../../Producer';
4
+ import type { MediaKind, RtpParameters } from '../../RtpParameters';
5
+ import type { SctpParameters } from '../../SctpParameters';
6
6
  export declare class RemoteSdp {
7
7
  private _iceParameters?;
8
8
  private readonly _iceCandidates?;
@@ -24,17 +24,20 @@ export declare class RemoteSdp {
24
24
  });
25
25
  updateIceParameters(iceParameters: IceParameters): void;
26
26
  updateDtlsRole(role: DtlsRole): void;
27
+ /**
28
+ * Set session level a=extmap-allow-mixed attibute.
29
+ */
30
+ setSessionExtmapAllowMixed(): void;
27
31
  getNextMediaSectionIdx(): {
28
32
  idx: number;
29
33
  reuseMid?: string;
30
34
  };
31
- send({ offerMediaObject, reuseMid, offerRtpParameters, answerRtpParameters, codecOptions, extmapAllowMixed, }: {
35
+ send({ offerMediaObject, reuseMid, offerRtpParameters, answerRtpParameters, codecOptions, }: {
32
36
  offerMediaObject: any;
33
37
  reuseMid?: string;
34
38
  offerRtpParameters: RtpParameters;
35
39
  answerRtpParameters: RtpParameters;
36
40
  codecOptions?: ProducerCodecOptions;
37
- extmapAllowMixed?: boolean;
38
41
  }): void;
39
42
  receive({ mid, kind, offerRtpParameters, streamId, trackId, }: {
40
43
  mid: string;
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteSdp.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/RemoteSdp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RemoteSdp.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/RemoteSdp.ts"],"names":[],"mappings":"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"}
@@ -1,49 +1,32 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  Object.defineProperty(exports, "__esModule", { value: true });
36
3
  exports.RemoteSdp = void 0;
37
- const sdpTransform = __importStar(require("sdp-transform"));
4
+ const sdpTransform = require("sdp-transform");
38
5
  const Logger_1 = require("../../Logger");
39
6
  const MediaSection_1 = require("./MediaSection");
40
7
  const logger = new Logger_1.Logger('RemoteSdp');
41
8
  class RemoteSdp {
9
+ // Remote ICE parameters.
10
+ _iceParameters;
11
+ // Remote ICE candidates.
12
+ _iceCandidates;
13
+ // Remote DTLS parameters.
14
+ _dtlsParameters;
15
+ // Remote SCTP parameters.
16
+ _sctpParameters;
17
+ // Parameters for plain RTP (no SRTP nor DTLS no BUNDLE).
18
+ _plainRtpParameters;
19
+ // Whether this is Plan-B SDP.
20
+ _planB;
21
+ // MediaSection instances with same order as in the SDP.
22
+ _mediaSections = [];
23
+ // MediaSection indices indexed by MID.
24
+ _midToIndex = new Map();
25
+ // First MID.
26
+ _firstMid;
27
+ // SDP object.
28
+ _sdpObject;
42
29
  constructor({ iceParameters, iceCandidates, dtlsParameters, sctpParameters, plainRtpParameters, planB = false, }) {
43
- // MediaSection instances with same order as in the SDP.
44
- this._mediaSections = [];
45
- // MediaSection indices indexed by MID.
46
- this._midToIndex = new Map();
47
30
  this._iceParameters = iceParameters;
48
31
  this._iceCandidates = iceCandidates;
49
32
  this._dtlsParameters = dtlsParameters;
@@ -100,6 +83,13 @@ class RemoteSdp {
100
83
  mediaSection.setDtlsRole(role);
101
84
  }
102
85
  }
86
+ /**
87
+ * Set session level a=extmap-allow-mixed attibute.
88
+ */
89
+ setSessionExtmapAllowMixed() {
90
+ logger.debug('setSessionExtmapAllowMixed()');
91
+ this._sdpObject.extmapAllowMixed = 'extmap-allow-mixed';
92
+ }
103
93
  getNextMediaSectionIdx() {
104
94
  // If a closed media section is found, return its index.
105
95
  for (let idx = 0; idx < this._mediaSections.length; ++idx) {
@@ -111,7 +101,7 @@ class RemoteSdp {
111
101
  // If no closed media section is found, return next one.
112
102
  return { idx: this._mediaSections.length };
113
103
  }
114
- send({ offerMediaObject, reuseMid, offerRtpParameters, answerRtpParameters, codecOptions, extmapAllowMixed = false, }) {
104
+ send({ offerMediaObject, reuseMid, offerRtpParameters, answerRtpParameters, codecOptions, }) {
115
105
  const mediaSection = new MediaSection_1.AnswerMediaSection({
116
106
  iceParameters: this._iceParameters,
117
107
  iceCandidates: this._iceCandidates,
@@ -122,7 +112,6 @@ class RemoteSdp {
122
112
  offerRtpParameters,
123
113
  answerRtpParameters,
124
114
  codecOptions,
125
- extmapAllowMixed,
126
115
  });
127
116
  // Unified-Plan with closed media section replacement.
128
117
  if (reuseMid) {
@@ -1,5 +1,5 @@
1
- import { DtlsParameters } from '../../Transport';
2
- import { RtpCapabilities, RtpParameters } from '../../RtpParameters';
1
+ import type { DtlsParameters } from '../../Transport';
2
+ import type { RtpCapabilities, RtpParameters } from '../../RtpParameters';
3
3
  /**
4
4
  * This function must be called with an SDP with 1 m=audio and 1 m=video
5
5
  * sections.
@@ -1 +1 @@
1
- {"version":3,"file":"commonUtils.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/commonUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAY,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACN,eAAe,EAGf,aAAa,EAEb,MAAM,qBAAqB,CAAC;AAE7B;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EACtC,SAAS,GACT,EAAE;IACF,SAAS,EAAE,GAAG,CAAC;CACf,GAAG,eAAe,CA8HlB;AAED,wBAAgB,qBAAqB,CAAC,EACrC,SAAS,GACT,EAAE;IACF,SAAS,EAAE,GAAG,CAAC;CACf,GAAG,cAAc,CAsDjB;AAED,wBAAgB,QAAQ,CAAC,EACxB,gBAAgB,GAChB,EAAE;IACF,gBAAgB,EAAE,GAAG,CAAC;CACtB,GAAG,MAAM,CAUT;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EACpC,kBAAkB,EAClB,iBAAiB,GACjB,EAAE;IACF,kBAAkB,EAAE,aAAa,CAAC;IAClC,iBAAiB,EAAE,GAAG,CAAC;CACvB,GAAG,IAAI,CAsDP"}
1
+ {"version":3,"file":"commonUtils.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/commonUtils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAY,MAAM,iBAAiB,CAAC;AAChE,OAAO,KAAK,EACX,eAAe,EAGf,aAAa,EAEb,MAAM,qBAAqB,CAAC;AAE7B;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EACtC,SAAS,GACT,EAAE;IACF,SAAS,EAAE,GAAG,CAAC;CACf,GAAG,eAAe,CA8HlB;AAED,wBAAgB,qBAAqB,CAAC,EACrC,SAAS,GACT,EAAE;IACF,SAAS,EAAE,GAAG,CAAC;CACf,GAAG,cAAc,CAsDjB;AAED,wBAAgB,QAAQ,CAAC,EACxB,gBAAgB,GAChB,EAAE;IACF,gBAAgB,EAAE,GAAG,CAAC;CACtB,GAAG,MAAM,CAUT;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EACpC,kBAAkB,EAClB,iBAAiB,GACjB,EAAE;IACF,kBAAkB,EAAE,aAAa,CAAC;IAClC,iBAAiB,EAAE,GAAG,CAAC;CACvB,GAAG,IAAI,CAsDP"}
@@ -1,43 +1,10 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  Object.defineProperty(exports, "__esModule", { value: true });
36
3
  exports.extractRtpCapabilities = extractRtpCapabilities;
37
4
  exports.extractDtlsParameters = extractDtlsParameters;
38
5
  exports.getCname = getCname;
39
6
  exports.applyCodecParameters = applyCodecParameters;
40
- const sdpTransform = __importStar(require("sdp-transform"));
7
+ const sdpTransform = require("sdp-transform");
41
8
  /**
42
9
  * This function must be called with an SDP with 1 m=audio and 1 m=video
43
10
  * sections.
@@ -151,8 +118,8 @@ function extractDtlsParameters({ sdpObject, }) {
151
118
  if (!setup || !fingerprint) {
152
119
  const mediaObject = (sdpObject.media ?? []).find((m) => m.port !== 0);
153
120
  if (mediaObject) {
154
- setup ?? (setup = mediaObject.setup);
155
- fingerprint ?? (fingerprint = mediaObject.fingerprint);
121
+ setup ??= mediaObject.setup;
122
+ fingerprint ??= mediaObject.fingerprint;
156
123
  }
157
124
  }
158
125
  if (!setup) {
@@ -221,7 +188,7 @@ function applyCodecParameters({ offerRtpParameters, answerMediaObject, }) {
221
188
  case 'audio/opus': {
222
189
  const spropStereo = codec.parameters['sprop-stereo'];
223
190
  if (spropStereo !== undefined) {
224
- parameters.stereo = Number(spropStereo) ? 1 : 0;
191
+ parameters['stereo'] = Number(spropStereo) ? 1 : 0;
225
192
  }
226
193
  break;
227
194
  }
@@ -1,4 +1,4 @@
1
- import { MediaKind, RtpEncodingParameters } from '../../RtpParameters';
1
+ import type { MediaKind, RtpEncodingParameters } from '../../RtpParameters';
2
2
  export declare function extractPlainRtpParameters({ sdpObject, kind, }: {
3
3
  sdpObject: any;
4
4
  kind: MediaKind;
@@ -1 +1 @@
1
- {"version":3,"file":"plainRtpUtils.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/plainRtpUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEvE,wBAAgB,yBAAyB,CAAC,EACzC,SAAS,EACT,IAAI,GACJ,EAAE;IACF,SAAS,EAAE,GAAG,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;CAChB,GAAG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACb,CAcA;AAED,wBAAgB,eAAe,CAAC,EAC/B,SAAS,EACT,IAAI,GACJ,EAAE;IACF,SAAS,EAAE,GAAG,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;CAChB,GAAG,qBAAqB,EAAE,CAe1B"}
1
+ {"version":3,"file":"plainRtpUtils.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/plainRtpUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,wBAAgB,yBAAyB,CAAC,EACzC,SAAS,EACT,IAAI,GACJ,EAAE;IACF,SAAS,EAAE,GAAG,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;CAChB,GAAG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACb,CAcA;AAED,wBAAgB,eAAe,CAAC,EAC/B,SAAS,EACT,IAAI,GACJ,EAAE;IACF,SAAS,EAAE,GAAG,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;CAChB,GAAG,qBAAqB,EAAE,CAe1B"}
@@ -1,4 +1,4 @@
1
- import { RtpEncodingParameters } from '../../RtpParameters';
1
+ import type { RtpEncodingParameters } from '../../RtpParameters';
2
2
  export declare function getRtpEncodings({ offerMediaObject, track, }: {
3
3
  offerMediaObject: any;
4
4
  track: MediaStreamTrack;
@@ -1 +1 @@
1
- {"version":3,"file":"planBUtils.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/planBUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,wBAAgB,eAAe,CAAC,EAC/B,gBAAgB,EAChB,KAAK,GACL,EAAE;IACF,gBAAgB,EAAE,GAAG,CAAC;IACtB,KAAK,EAAE,gBAAgB,CAAC;CACxB,GAAG,qBAAqB,EAAE,CAyE1B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAClC,gBAAgB,EAChB,KAAK,EACL,UAAU,GACV,EAAE;IACF,gBAAgB,EAAE,GAAG,CAAC;IACtB,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAmHP"}
1
+ {"version":3,"file":"planBUtils.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/planBUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,wBAAgB,eAAe,CAAC,EAC/B,gBAAgB,EAChB,KAAK,GACL,EAAE;IACF,gBAAgB,EAAE,GAAG,CAAC;IACtB,KAAK,EAAE,gBAAgB,CAAC;CACxB,GAAG,qBAAqB,EAAE,CAyE1B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAClC,gBAAgB,EAChB,KAAK,EACL,UAAU,GACV,EAAE;IACF,gBAAgB,EAAE,GAAG,CAAC;IACtB,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAmHP"}
@@ -1,4 +1,4 @@
1
- import { RtpEncodingParameters } from '../../RtpParameters';
1
+ import type { RtpEncodingParameters } from '../../RtpParameters';
2
2
  export declare function getRtpEncodings({ offerMediaObject, }: {
3
3
  offerMediaObject: any;
4
4
  }): RtpEncodingParameters[];
@@ -1 +1 @@
1
- {"version":3,"file":"unifiedPlanUtils.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/unifiedPlanUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,wBAAgB,eAAe,CAAC,EAC/B,gBAAgB,GAChB,EAAE;IACF,gBAAgB,EAAE,GAAG,CAAC;CACtB,GAAG,qBAAqB,EAAE,CAyD1B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAClC,gBAAgB,EAChB,UAAU,GACV,EAAE;IACF,gBAAgB,EAAE,GAAG,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAkGP"}
1
+ {"version":3,"file":"unifiedPlanUtils.d.ts","sourceRoot":"","sources":["../../../src/handlers/sdp/unifiedPlanUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,wBAAgB,eAAe,CAAC,EAC/B,gBAAgB,GAChB,EAAE;IACF,gBAAgB,EAAE,GAAG,CAAC;CACtB,GAAG,qBAAqB,EAAE,CAyD1B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAClC,gBAAgB,EAChB,UAAU,GACV,EAAE;IACF,gBAAgB,EAAE,GAAG,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAkGP"}
package/lib/index.d.ts CHANGED
@@ -1,22 +1,32 @@
1
1
  import debug from 'debug';
2
- import { Device, detectDevice } from './Device';
3
- import * as types from './types';
4
2
  /**
5
3
  * Expose all types.
6
4
  */
7
- export { types };
5
+ export * as types from './types';
8
6
  /**
9
7
  * Expose mediasoup-client version.
10
8
  */
11
- export declare const version = "3.9.2";
9
+ export declare const version = "__MEDIASOUP_CLIENT_VERSION__";
12
10
  /**
13
11
  * Expose Device class and detectDevice() helper.
14
12
  */
15
- export { Device, detectDevice };
13
+ export { Device, detectDevice } from './Device';
16
14
  /**
17
15
  * Expose parseScalabilityMode() function.
18
16
  */
19
17
  export { parse as parseScalabilityMode } from './scalabilityModes';
18
+ /**
19
+ * Expose all ORTC functions.
20
+ */
21
+ export * as ortc from './ortc';
22
+ /**
23
+ * Expose FakeHandler.
24
+ */
25
+ export { FakeHandler } from './handlers/FakeHandler';
26
+ /**
27
+ * Expose test/fakeParameters utils.
28
+ */
29
+ export * as testFakeParameters from './test/fakeParameters';
20
30
  /**
21
31
  * Expose the debug module.
22
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB;;GAEG;AACH,eAAO,MAAM,OAAO,iCAAiC,CAAC;AAEtD;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAEhC;;GAEG;AACH,OAAO,EAAE,KAAK,IAAI,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,OAAO,iCAAiC,CAAC;AAEtD;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEhD;;GAEG;AACH,OAAO,EAAE,KAAK,IAAI,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;GAEG;AACH,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD;;GAEG;AACH,OAAO,KAAK,kBAAkB,MAAM,uBAAuB,CAAC;AAE5D;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,CAAC"}