mediasoup-client 3.7.0 → 3.7.2

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 (105) hide show
  1. package/README.md +85 -112
  2. package/lib/Consumer.d.ts +1 -1
  3. package/lib/Consumer.d.ts.map +1 -1
  4. package/lib/Consumer.js +1 -1
  5. package/lib/DataConsumer.d.ts +1 -1
  6. package/lib/DataConsumer.d.ts.map +1 -1
  7. package/lib/DataConsumer.js +1 -1
  8. package/lib/DataProducer.d.ts +1 -1
  9. package/lib/DataProducer.d.ts.map +1 -1
  10. package/lib/DataProducer.js +1 -1
  11. package/lib/Device.d.ts +3 -3
  12. package/lib/Device.d.ts.map +1 -1
  13. package/lib/Device.js +43 -42
  14. package/lib/EnhancedEventEmitter.d.ts.map +1 -1
  15. package/lib/Logger.d.ts.map +1 -1
  16. package/lib/Producer.d.ts +5 -15
  17. package/lib/Producer.d.ts.map +1 -1
  18. package/lib/Producer.js +2 -2
  19. package/lib/RtpParameters.d.ts.map +1 -1
  20. package/lib/SctpParameters.d.ts.map +1 -1
  21. package/lib/Transport.d.ts +14 -10
  22. package/lib/Transport.d.ts.map +1 -1
  23. package/lib/Transport.js +71 -53
  24. package/lib/errors.d.ts.map +1 -1
  25. package/lib/errors.js +6 -6
  26. package/lib/handlers/Chrome111.d.ts +4 -4
  27. package/lib/handlers/Chrome111.d.ts.map +1 -1
  28. package/lib/handlers/Chrome111.js +64 -57
  29. package/lib/handlers/Chrome55.d.ts +4 -4
  30. package/lib/handlers/Chrome55.d.ts.map +1 -1
  31. package/lib/handlers/Chrome55.js +75 -62
  32. package/lib/handlers/Chrome67.d.ts +4 -4
  33. package/lib/handlers/Chrome67.d.ts.map +1 -1
  34. package/lib/handlers/Chrome67.js +77 -65
  35. package/lib/handlers/Chrome70.d.ts +4 -4
  36. package/lib/handlers/Chrome70.d.ts.map +1 -1
  37. package/lib/handlers/Chrome70.js +68 -60
  38. package/lib/handlers/Chrome74.d.ts +4 -4
  39. package/lib/handlers/Chrome74.d.ts.map +1 -1
  40. package/lib/handlers/Chrome74.js +65 -58
  41. package/lib/handlers/Edge11.d.ts +1 -1
  42. package/lib/handlers/Edge11.d.ts.map +1 -1
  43. package/lib/handlers/Edge11.js +43 -37
  44. package/lib/handlers/FakeHandler.d.ts +3 -3
  45. package/lib/handlers/FakeHandler.d.ts.map +1 -1
  46. package/lib/handlers/FakeHandler.js +19 -22
  47. package/lib/handlers/Firefox60.d.ts +4 -4
  48. package/lib/handlers/Firefox60.d.ts.map +1 -1
  49. package/lib/handlers/Firefox60.js +65 -52
  50. package/lib/handlers/HandlerInterface.d.ts.map +1 -1
  51. package/lib/handlers/ReactNative.d.ts +4 -4
  52. package/lib/handlers/ReactNative.d.ts.map +1 -1
  53. package/lib/handlers/ReactNative.js +76 -64
  54. package/lib/handlers/ReactNativeUnifiedPlan.d.ts +4 -4
  55. package/lib/handlers/ReactNativeUnifiedPlan.d.ts.map +1 -1
  56. package/lib/handlers/ReactNativeUnifiedPlan.js +65 -58
  57. package/lib/handlers/Safari11.d.ts +4 -4
  58. package/lib/handlers/Safari11.d.ts.map +1 -1
  59. package/lib/handlers/Safari11.js +74 -61
  60. package/lib/handlers/Safari12.d.ts +4 -4
  61. package/lib/handlers/Safari12.d.ts.map +1 -1
  62. package/lib/handlers/Safari12.js +65 -57
  63. package/lib/handlers/ortc/edgeUtils.d.ts.map +1 -1
  64. package/lib/handlers/ortc/utils.d.ts.map +1 -1
  65. package/lib/handlers/ortc/utils.js +2 -2
  66. package/lib/handlers/sdp/MediaSection.d.ts +5 -5
  67. package/lib/handlers/sdp/MediaSection.d.ts.map +1 -1
  68. package/lib/handlers/sdp/MediaSection.js +287 -305
  69. package/lib/handlers/sdp/RemoteSdp.d.ts +5 -5
  70. package/lib/handlers/sdp/RemoteSdp.d.ts.map +1 -1
  71. package/lib/handlers/sdp/RemoteSdp.js +28 -30
  72. package/lib/handlers/sdp/commonUtils.d.ts +4 -4
  73. package/lib/handlers/sdp/commonUtils.d.ts.map +1 -1
  74. package/lib/handlers/sdp/commonUtils.js +41 -46
  75. package/lib/handlers/sdp/plainRtpUtils.d.ts +2 -2
  76. package/lib/handlers/sdp/plainRtpUtils.d.ts.map +1 -1
  77. package/lib/handlers/sdp/plainRtpUtils.js +5 -7
  78. package/lib/handlers/sdp/planBUtils.d.ts +2 -2
  79. package/lib/handlers/sdp/planBUtils.d.ts.map +1 -1
  80. package/lib/handlers/sdp/planBUtils.js +11 -14
  81. package/lib/handlers/sdp/unifiedPlanUtils.d.ts +2 -2
  82. package/lib/handlers/sdp/unifiedPlanUtils.d.ts.map +1 -1
  83. package/lib/handlers/sdp/unifiedPlanUtils.js +11 -14
  84. package/lib/index.d.ts +1 -1
  85. package/lib/index.js +1 -1
  86. package/lib/ortc.d.ts.map +1 -1
  87. package/lib/ortc.js +90 -92
  88. package/lib/scalabilityModes.d.ts.map +1 -1
  89. package/lib/scalabilityModes.js +2 -2
  90. package/lib/{tests → test}/fakeParameters.d.ts +2 -2
  91. package/lib/test/fakeParameters.d.ts.map +1 -0
  92. package/lib/test/fakeParameters.js +645 -0
  93. package/lib/{tests → test}/test.d.ts.map +1 -1
  94. package/lib/{tests → test}/test.js +466 -495
  95. package/lib/test/uaTestCases.d.ts.map +1 -0
  96. package/lib/{tests → test}/uaTestCases.js +17 -17
  97. package/lib/types.d.ts.map +1 -1
  98. package/lib/utils.d.ts.map +1 -1
  99. package/npm-scripts.mjs +72 -98
  100. package/package.json +93 -90
  101. package/lib/tests/fakeParameters.d.ts.map +0 -1
  102. package/lib/tests/fakeParameters.js +0 -662
  103. package/lib/tests/uaTestCases.d.ts.map +0 -1
  104. /package/lib/{tests → test}/test.d.ts +0 -0
  105. /package/lib/{tests → test}/uaTestCases.d.ts +0 -0
package/lib/errors.js CHANGED
@@ -8,13 +8,13 @@ class UnsupportedError extends Error {
8
8
  constructor(message) {
9
9
  super(message);
10
10
  this.name = 'UnsupportedError';
11
- if (Error.hasOwnProperty('captureStackTrace')) // Just in V8.
12
- {
11
+ if (Error.hasOwnProperty('captureStackTrace')) {
12
+ // Just in V8.
13
13
  // @ts-ignore
14
14
  Error.captureStackTrace(this, UnsupportedError);
15
15
  }
16
16
  else {
17
- this.stack = (new Error(message)).stack;
17
+ this.stack = new Error(message).stack;
18
18
  }
19
19
  }
20
20
  }
@@ -26,13 +26,13 @@ class InvalidStateError extends Error {
26
26
  constructor(message) {
27
27
  super(message);
28
28
  this.name = 'InvalidStateError';
29
- if (Error.hasOwnProperty('captureStackTrace')) // Just in V8.
30
- {
29
+ if (Error.hasOwnProperty('captureStackTrace')) {
30
+ // Just in V8.
31
31
  // @ts-ignore
32
32
  Error.captureStackTrace(this, InvalidStateError);
33
33
  }
34
34
  else {
35
- this.stack = (new Error(message)).stack;
35
+ this.stack = new Error(message).stack;
36
36
  }
37
37
  }
38
38
  }
@@ -24,11 +24,11 @@ export declare class Chrome111 extends HandlerInterface {
24
24
  close(): void;
25
25
  getNativeRtpCapabilities(): Promise<RtpCapabilities>;
26
26
  getNativeSctpCapabilities(): Promise<SctpCapabilities>;
27
- run({ direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, extendedRtpCapabilities }: HandlerRunOptions): void;
27
+ run({ direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, extendedRtpCapabilities, }: HandlerRunOptions): void;
28
28
  updateIceServers(iceServers: RTCIceServer[]): Promise<void>;
29
29
  restartIce(iceParameters: IceParameters): Promise<void>;
30
30
  getTransportStats(): Promise<RTCStatsReport>;
31
- send({ track, encodings, codecOptions, codec }: HandlerSendOptions): Promise<HandlerSendResult>;
31
+ send({ track, encodings, codecOptions, codec, }: HandlerSendOptions): Promise<HandlerSendResult>;
32
32
  stopSending(localId: string): Promise<void>;
33
33
  pauseSending(localId: string): Promise<void>;
34
34
  resumeSending(localId: string): Promise<void>;
@@ -36,13 +36,13 @@ export declare class Chrome111 extends HandlerInterface {
36
36
  setMaxSpatialLayer(localId: string, spatialLayer: number): Promise<void>;
37
37
  setRtpEncodingParameters(localId: string, params: any): Promise<void>;
38
38
  getSenderStats(localId: string): Promise<RTCStatsReport>;
39
- sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
39
+ sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol, }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
40
40
  receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
41
41
  stopReceiving(localIds: string[]): Promise<void>;
42
42
  pauseReceiving(localIds: string[]): Promise<void>;
43
43
  resumeReceiving(localIds: string[]): Promise<void>;
44
44
  getReceiverStats(localId: string): Promise<RTCStatsReport>;
45
- receiveDataChannel({ sctpStreamParameters, label, protocol }: HandlerReceiveDataChannelOptions): Promise<HandlerReceiveDataChannelResult>;
45
+ receiveDataChannel({ sctpStreamParameters, label, protocol, }: HandlerReceiveDataChannelOptions): Promise<HandlerReceiveDataChannelResult>;
46
46
  private setupTransport;
47
47
  private assertNotClosed;
48
48
  private assertSendDirection;
@@ -1 +1 @@
1
- {"version":3,"file":"Chrome111.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome111.ts"],"names":[],"mappings":"AAQA,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;AAG5B,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,OAAO,CAAS;IAExB,OAAO,CAAC,UAAU,CAAC,CAAkB;IAErC,OAAO,CAAC,UAAU,CAAC,CAAY;IAE/B,OAAO,CAAC,2BAA2B,CAAC,CAAmC;IAGvE,OAAO,CAAC,iCAAiC,CAAC,CAAmC;IAG7E,OAAO,CAAC,oBAAoB,CAAC,CAAW;IAExC,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;IAqBP,wBAAwB,IAAI,OAAO,CAAC,eAAe,CAAC;IAyCpD,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;IAwFD,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAa3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDvD,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAO5C,IAAI,CACT,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAC3D,OAAO,CAAC,iBAAiB,CAAC;IAmJvB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsD3C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC5C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC7C,YAAY,CACjB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7C,OAAO,CAAC,IAAI,CAAC;IAyBV,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmDxE,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA4CrE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAexD,eAAe,CACpB,EACC,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,QAAQ,EACR,EAAE,6BAA6B,GAC9B,OAAO,CAAC,4BAA4B,CAAC;IAuElC,OAAO,CACZ,WAAW,EAAE,qBAAqB,EAAE,GACjC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAmG7B,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6ChD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCjD,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqClD,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAe1D,kBAAkB,CACvB,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,gCAAgC,GACzE,OAAO,CAAC,+BAA+B,CAAC;YAiE7B,cAAc;IAyC5B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,mBAAmB;CAQ3B"}
1
+ {"version":3,"file":"Chrome111.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome111.ts"],"names":[],"mappings":"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"}
@@ -84,7 +84,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
84
84
  iceTransportPolicy: 'all',
85
85
  bundlePolicy: 'max-bundle',
86
86
  rtcpMuxPolicy: 'require',
87
- sdpSemantics: 'unified-plan'
87
+ sdpSemantics: 'unified-plan',
88
88
  });
89
89
  try {
90
90
  pc.addTransceiver('audio');
@@ -95,7 +95,9 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
95
95
  }
96
96
  catch (error) { }
97
97
  const sdpObject = sdpTransform.parse(offer.sdp);
98
- const nativeRtpCapabilities = sdpCommonUtils.extractRtpCapabilities({ sdpObject });
98
+ const nativeRtpCapabilities = sdpCommonUtils.extractRtpCapabilities({
99
+ sdpObject,
100
+ });
99
101
  // libwebrtc supports NACK for OPUS but doesn't announce it.
100
102
  ortcUtils.addNackSuppportForOpus(nativeRtpCapabilities);
101
103
  return nativeRtpCapabilities;
@@ -111,10 +113,10 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
111
113
  async getNativeSctpCapabilities() {
112
114
  logger.debug('getNativeSctpCapabilities()');
113
115
  return {
114
- numStreams: SCTP_NUM_STREAMS
116
+ numStreams: SCTP_NUM_STREAMS,
115
117
  };
116
118
  }
117
- run({ direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, extendedRtpCapabilities }) {
119
+ run({ direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, extendedRtpCapabilities, }) {
118
120
  this.assertNotClosed();
119
121
  logger.debug('run()');
120
122
  this._direction = direction;
@@ -122,22 +124,19 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
122
124
  iceParameters,
123
125
  iceCandidates,
124
126
  dtlsParameters,
125
- sctpParameters
127
+ sctpParameters,
126
128
  });
127
- this._sendingRtpParametersByKind =
128
- {
129
- audio: ortc.getSendingRtpParameters('audio', extendedRtpCapabilities),
130
- video: ortc.getSendingRtpParameters('video', extendedRtpCapabilities)
131
- };
132
- this._sendingRemoteRtpParametersByKind =
133
- {
134
- audio: ortc.getSendingRemoteRtpParameters('audio', extendedRtpCapabilities),
135
- video: ortc.getSendingRemoteRtpParameters('video', extendedRtpCapabilities)
136
- };
129
+ this._sendingRtpParametersByKind = {
130
+ audio: ortc.getSendingRtpParameters('audio', extendedRtpCapabilities),
131
+ video: ortc.getSendingRtpParameters('video', extendedRtpCapabilities),
132
+ };
133
+ this._sendingRemoteRtpParametersByKind = {
134
+ audio: ortc.getSendingRemoteRtpParameters('audio', extendedRtpCapabilities),
135
+ video: ortc.getSendingRemoteRtpParameters('video', extendedRtpCapabilities),
136
+ };
137
137
  if (dtlsParameters.role && dtlsParameters.role !== 'auto') {
138
- this._forcedLocalDtlsRole = dtlsParameters.role === 'server'
139
- ? 'client'
140
- : 'server';
138
+ this._forcedLocalDtlsRole =
139
+ dtlsParameters.role === 'server' ? 'client' : 'server';
141
140
  }
142
141
  this._pc = new RTCPeerConnection({
143
142
  iceServers: iceServers || [],
@@ -145,7 +144,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
145
144
  bundlePolicy: 'max-bundle',
146
145
  rtcpMuxPolicy: 'require',
147
146
  sdpSemantics: 'unified-plan',
148
- ...additionalSettings
147
+ ...additionalSettings,
149
148
  }, proprietaryConstraints);
150
149
  this._pc.addEventListener('icegatheringstatechange', () => {
151
150
  this.emit('@icegatheringstatechange', this._pc.iceGatheringState);
@@ -159,22 +158,27 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
159
158
  logger.warn('run() | pc.connectionState not supported, using pc.iceConnectionState');
160
159
  this._pc.addEventListener('iceconnectionstatechange', () => {
161
160
  switch (this._pc.iceConnectionState) {
162
- case 'checking':
161
+ case 'checking': {
163
162
  this.emit('@connectionstatechange', 'connecting');
164
163
  break;
164
+ }
165
165
  case 'connected':
166
- case 'completed':
166
+ case 'completed': {
167
167
  this.emit('@connectionstatechange', 'connected');
168
168
  break;
169
- case 'failed':
169
+ }
170
+ case 'failed': {
170
171
  this.emit('@connectionstatechange', 'failed');
171
172
  break;
172
- case 'disconnected':
173
+ }
174
+ case 'disconnected': {
173
175
  this.emit('@connectionstatechange', 'disconnected');
174
176
  break;
175
- case 'closed':
177
+ }
178
+ case 'closed': {
176
179
  this.emit('@connectionstatechange', 'closed');
177
180
  break;
181
+ }
178
182
  }
179
183
  });
180
184
  }
@@ -215,7 +219,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
215
219
  this.assertNotClosed();
216
220
  return this._pc.getStats();
217
221
  }
218
- async send({ track, encodings, codecOptions, codec }) {
222
+ async send({ track, encodings, codecOptions, codec, }) {
219
223
  this.assertNotClosed();
220
224
  this.assertSendDirection();
221
225
  logger.debug('send() [kind:%s, track.id:%s]', track.kind, track.id);
@@ -245,24 +249,22 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
245
249
  }
246
250
  const sendingRtpParameters = utils.clone(this._sendingRtpParametersByKind[track.kind]);
247
251
  // This may throw.
248
- sendingRtpParameters.codecs =
249
- ortc.reduceCodecs(sendingRtpParameters.codecs, codec);
252
+ sendingRtpParameters.codecs = ortc.reduceCodecs(sendingRtpParameters.codecs, codec);
250
253
  const sendingRemoteRtpParameters = utils.clone(this._sendingRemoteRtpParametersByKind[track.kind]);
251
254
  // This may throw.
252
- sendingRemoteRtpParameters.codecs =
253
- ortc.reduceCodecs(sendingRemoteRtpParameters.codecs, codec);
255
+ sendingRemoteRtpParameters.codecs = ortc.reduceCodecs(sendingRemoteRtpParameters.codecs, codec);
254
256
  const mediaSectionIdx = this._remoteSdp.getNextMediaSectionIdx();
255
257
  const transceiver = this._pc.addTransceiver(track, {
256
258
  direction: 'sendonly',
257
259
  streams: [this._sendStream],
258
- sendEncodings: encodings
260
+ sendEncodings: encodings,
259
261
  });
260
262
  const offer = await this._pc.createOffer();
261
263
  let localSdpObject = sdpTransform.parse(offer.sdp);
262
264
  if (!this._transportReady) {
263
265
  await this.setupTransport({
264
266
  localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
265
- localSdpObject
267
+ localSdpObject,
266
268
  });
267
269
  }
268
270
  logger.debug('send() | calling pc.setLocalDescription() [offer:%o]', offer);
@@ -274,17 +276,21 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
274
276
  localSdpObject = sdpTransform.parse(this._pc.localDescription.sdp);
275
277
  const offerMediaObject = localSdpObject.media[mediaSectionIdx.idx];
276
278
  // Set RTCP CNAME.
277
- sendingRtpParameters.rtcp.cname =
278
- sdpCommonUtils.getCname({ offerMediaObject });
279
+ sendingRtpParameters.rtcp.cname = sdpCommonUtils.getCname({
280
+ offerMediaObject,
281
+ });
279
282
  // Set RTP encodings by parsing the SDP offer if no encodings are given.
280
283
  if (!encodings) {
281
- sendingRtpParameters.encodings =
282
- sdpUnifiedPlanUtils.getRtpEncodings({ offerMediaObject });
284
+ sendingRtpParameters.encodings = sdpUnifiedPlanUtils.getRtpEncodings({
285
+ offerMediaObject,
286
+ });
283
287
  }
284
288
  // Set RTP encodings by parsing the SDP offer and complete them with given
285
289
  // one if just a single encoding has been given.
286
290
  else if (encodings.length === 1) {
287
- const newEncodings = sdpUnifiedPlanUtils.getRtpEncodings({ offerMediaObject });
291
+ const newEncodings = sdpUnifiedPlanUtils.getRtpEncodings({
292
+ offerMediaObject,
293
+ });
288
294
  Object.assign(newEncodings[0], encodings[0]);
289
295
  sendingRtpParameters.encodings = newEncodings;
290
296
  }
@@ -298,7 +304,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
298
304
  offerRtpParameters: sendingRtpParameters,
299
305
  answerRtpParameters: sendingRemoteRtpParameters,
300
306
  codecOptions,
301
- extmapAllowMixed: true
307
+ extmapAllowMixed: true,
302
308
  });
303
309
  const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
304
310
  logger.debug('send() | calling pc.setRemoteDescription() [answer:%o]', answer);
@@ -308,7 +314,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
308
314
  return {
309
315
  localId,
310
316
  rtpParameters: sendingRtpParameters,
311
- rtpSender: transceiver.sender
317
+ rtpSender: transceiver.sender,
312
318
  };
313
319
  }
314
320
  async stopSending(localId) {
@@ -443,7 +449,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
443
449
  }
444
450
  return transceiver.sender.getStats();
445
451
  }
446
- async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }) {
452
+ async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol, }) {
447
453
  this.assertNotClosed();
448
454
  this.assertSendDirection();
449
455
  const options = {
@@ -452,7 +458,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
452
458
  ordered,
453
459
  maxPacketLifeTime,
454
460
  maxRetransmits,
455
- protocol
461
+ protocol,
456
462
  };
457
463
  logger.debug('sendDataChannel() [options:%o]', options);
458
464
  const dataChannel = this._pc.createDataChannel(label, options);
@@ -464,12 +470,11 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
464
470
  if (!this._hasDataChannelMediaSection) {
465
471
  const offer = await this._pc.createOffer();
466
472
  const localSdpObject = sdpTransform.parse(offer.sdp);
467
- const offerMediaObject = localSdpObject.media
468
- .find((m) => m.type === 'application');
473
+ const offerMediaObject = localSdpObject.media.find((m) => m.type === 'application');
469
474
  if (!this._transportReady) {
470
475
  await this.setupTransport({
471
476
  localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
472
- localSdpObject
477
+ localSdpObject,
473
478
  });
474
479
  }
475
480
  logger.debug('sendDataChannel() | calling pc.setLocalDescription() [offer:%o]', offer);
@@ -484,7 +489,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
484
489
  streamId: options.id,
485
490
  ordered: options.ordered,
486
491
  maxPacketLifeTime: options.maxPacketLifeTime,
487
- maxRetransmits: options.maxRetransmits
492
+ maxRetransmits: options.maxRetransmits,
488
493
  };
489
494
  return { dataChannel, sctpStreamParameters };
490
495
  }
@@ -503,7 +508,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
503
508
  kind,
504
509
  offerRtpParameters: rtpParameters,
505
510
  streamId: streamId || rtpParameters.rtcp.cname,
506
- trackId
511
+ trackId,
507
512
  });
508
513
  }
509
514
  const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
@@ -514,20 +519,19 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
514
519
  for (const options of optionsList) {
515
520
  const { trackId, rtpParameters } = options;
516
521
  const localId = mapLocalId.get(trackId);
517
- const answerMediaObject = localSdpObject.media
518
- .find((m) => String(m.mid) === localId);
522
+ const answerMediaObject = localSdpObject.media.find((m) => String(m.mid) === localId);
519
523
  // May need to modify codec parameters in the answer based on codec
520
524
  // parameters in the offer.
521
525
  sdpCommonUtils.applyCodecParameters({
522
526
  offerRtpParameters: rtpParameters,
523
- answerMediaObject
527
+ answerMediaObject,
524
528
  });
525
529
  }
526
530
  answer = { type: 'answer', sdp: sdpTransform.write(localSdpObject) };
527
531
  if (!this._transportReady) {
528
532
  await this.setupTransport({
529
533
  localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
530
- localSdpObject
534
+ localSdpObject,
531
535
  });
532
536
  }
533
537
  logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer);
@@ -535,7 +539,8 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
535
539
  for (const options of optionsList) {
536
540
  const { trackId } = options;
537
541
  const localId = mapLocalId.get(trackId);
538
- const transceiver = this._pc.getTransceivers()
542
+ const transceiver = this._pc
543
+ .getTransceivers()
539
544
  .find((t) => t.mid === localId);
540
545
  if (!transceiver) {
541
546
  throw new Error('new RTCRtpTransceiver not found');
@@ -546,7 +551,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
546
551
  results.push({
547
552
  localId,
548
553
  track: transceiver.receiver.track,
549
- rtpReceiver: transceiver.receiver
554
+ rtpReceiver: transceiver.receiver,
550
555
  });
551
556
  }
552
557
  }
@@ -622,17 +627,17 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
622
627
  }
623
628
  return transceiver.receiver.getStats();
624
629
  }
625
- async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
630
+ async receiveDataChannel({ sctpStreamParameters, label, protocol, }) {
626
631
  this.assertNotClosed();
627
632
  this.assertRecvDirection();
628
- const { streamId, ordered, maxPacketLifeTime, maxRetransmits } = sctpStreamParameters;
633
+ const { streamId, ordered, maxPacketLifeTime, maxRetransmits, } = sctpStreamParameters;
629
634
  const options = {
630
635
  negotiated: true,
631
636
  id: streamId,
632
637
  ordered,
633
638
  maxPacketLifeTime,
634
639
  maxRetransmits,
635
- protocol
640
+ protocol,
636
641
  };
637
642
  logger.debug('receiveDataChannel() [options:%o]', options);
638
643
  const dataChannel = this._pc.createDataChannel(label, options);
@@ -648,7 +653,7 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
648
653
  const localSdpObject = sdpTransform.parse(answer.sdp);
649
654
  await this.setupTransport({
650
655
  localDtlsRole: this._forcedLocalDtlsRole ?? 'client',
651
- localSdpObject
656
+ localSdpObject,
652
657
  });
653
658
  }
654
659
  logger.debug('receiveDataChannel() | calling pc.setRemoteDescription() [answer:%o]', answer);
@@ -657,12 +662,14 @@ class Chrome111 extends HandlerInterface_1.HandlerInterface {
657
662
  }
658
663
  return { dataChannel };
659
664
  }
660
- async setupTransport({ localDtlsRole, localSdpObject }) {
665
+ async setupTransport({ localDtlsRole, localSdpObject, }) {
661
666
  if (!localSdpObject) {
662
667
  localSdpObject = sdpTransform.parse(this._pc.localDescription.sdp);
663
668
  }
664
669
  // Get our local DTLS parameters.
665
- const dtlsParameters = sdpCommonUtils.extractDtlsParameters({ sdpObject: localSdpObject });
670
+ const dtlsParameters = sdpCommonUtils.extractDtlsParameters({
671
+ sdpObject: localSdpObject,
672
+ });
666
673
  // Set our DTLS role.
667
674
  dtlsParameters.role = localDtlsRole;
668
675
  // Update the remote DTLS role in the SDP.
@@ -25,11 +25,11 @@ export declare class Chrome55 extends HandlerInterface {
25
25
  close(): void;
26
26
  getNativeRtpCapabilities(): Promise<RtpCapabilities>;
27
27
  getNativeSctpCapabilities(): Promise<SctpCapabilities>;
28
- run({ direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, extendedRtpCapabilities }: HandlerRunOptions): void;
28
+ run({ direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, extendedRtpCapabilities, }: HandlerRunOptions): void;
29
29
  updateIceServers(iceServers: RTCIceServer[]): Promise<void>;
30
30
  restartIce(iceParameters: IceParameters): Promise<void>;
31
31
  getTransportStats(): Promise<RTCStatsReport>;
32
- send({ track, encodings, codecOptions, codec }: HandlerSendOptions): Promise<HandlerSendResult>;
32
+ send({ track, encodings, codecOptions, codec, }: HandlerSendOptions): Promise<HandlerSendResult>;
33
33
  stopSending(localId: string): Promise<void>;
34
34
  pauseSending(localId: string): Promise<void>;
35
35
  resumeSending(localId: string): Promise<void>;
@@ -37,13 +37,13 @@ export declare class Chrome55 extends HandlerInterface {
37
37
  setMaxSpatialLayer(localId: string, spatialLayer: number): Promise<void>;
38
38
  setRtpEncodingParameters(localId: string, params: any): Promise<void>;
39
39
  getSenderStats(localId: string): Promise<RTCStatsReport>;
40
- sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
40
+ sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol, }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
41
41
  receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
42
42
  stopReceiving(localIds: string[]): Promise<void>;
43
43
  pauseReceiving(localIds: string[]): Promise<void>;
44
44
  resumeReceiving(localIds: string[]): Promise<void>;
45
45
  getReceiverStats(localId: string): Promise<RTCStatsReport>;
46
- receiveDataChannel({ sctpStreamParameters, label, protocol }: HandlerReceiveDataChannelOptions): Promise<HandlerReceiveDataChannelResult>;
46
+ receiveDataChannel({ sctpStreamParameters, label, protocol, }: HandlerReceiveDataChannelOptions): Promise<HandlerReceiveDataChannelResult>;
47
47
  private setupTransport;
48
48
  private assertSendDirection;
49
49
  private assertRecvDirection;
@@ -1 +1 @@
1
- {"version":3,"file":"Chrome55.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome55.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chrome55.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome55.ts"],"names":[],"mappings":"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"}