mediasoup-client 3.6.80 → 3.6.81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Consumer.d.ts.map +1 -1
- package/lib/Consumer.js +6 -3
- package/lib/DataConsumer.d.ts.map +1 -1
- package/lib/DataConsumer.js +14 -7
- package/lib/DataProducer.d.ts.map +1 -1
- package/lib/DataProducer.js +18 -9
- package/lib/Device.d.ts.map +1 -1
- package/lib/Device.js +24 -12
- package/lib/Producer.d.ts +1 -0
- package/lib/Producer.d.ts.map +1 -1
- package/lib/Producer.js +28 -14
- package/lib/handlers/Chrome111.d.ts.map +1 -1
- package/lib/handlers/Chrome111.js +33 -15
- package/lib/handlers/Chrome55.d.ts.map +1 -1
- package/lib/handlers/Chrome55.js +12 -6
- package/lib/handlers/Chrome67.d.ts.map +1 -1
- package/lib/handlers/Chrome67.js +32 -16
- package/lib/handlers/Chrome70.d.ts.map +1 -1
- package/lib/handlers/Chrome70.js +28 -14
- package/lib/handlers/Chrome74.d.ts.map +1 -1
- package/lib/handlers/Chrome74.js +35 -16
- package/lib/handlers/Edge11.d.ts.map +1 -1
- package/lib/handlers/Edge11.js +30 -15
- package/lib/handlers/FakeHandler.d.ts.map +1 -1
- package/lib/handlers/FakeHandler.js +16 -8
- package/lib/handlers/Firefox60.d.ts.map +1 -1
- package/lib/handlers/Firefox60.js +38 -19
- package/lib/handlers/ReactNative.d.ts.map +1 -1
- package/lib/handlers/ReactNative.js +12 -6
- package/lib/handlers/ReactNativeUnifiedPlan.d.ts.map +1 -1
- package/lib/handlers/ReactNativeUnifiedPlan.js +35 -16
- package/lib/handlers/Safari11.d.ts.map +1 -1
- package/lib/handlers/Safari11.js +32 -16
- package/lib/handlers/Safari12.d.ts.map +1 -1
- package/lib/handlers/Safari12.js +37 -17
- package/lib/handlers/ortc/edgeUtils.d.ts.map +1 -1
- package/lib/handlers/ortc/edgeUtils.js +8 -4
- package/lib/handlers/ortc/utils.d.ts +6 -0
- package/lib/handlers/ortc/utils.d.ts.map +1 -0
- package/lib/handlers/ortc/utils.js +20 -0
- package/lib/handlers/sdp/MediaSection.d.ts.map +1 -1
- package/lib/handlers/sdp/MediaSection.js +56 -23
- package/lib/handlers/sdp/RemoteSdp.d.ts.map +1 -1
- package/lib/handlers/sdp/RemoteSdp.js +8 -4
- package/lib/handlers/sdp/commonUtils.d.ts.map +1 -1
- package/lib/handlers/sdp/commonUtils.js +26 -13
- package/lib/handlers/sdp/plainRtpUtils.d.ts.map +1 -1
- package/lib/handlers/sdp/plainRtpUtils.js +8 -4
- package/lib/handlers/sdp/planBUtils.d.ts.map +1 -1
- package/lib/handlers/sdp/planBUtils.js +22 -11
- package/lib/handlers/sdp/unifiedPlanUtils.d.ts.map +1 -1
- package/lib/handlers/sdp/unifiedPlanUtils.js +16 -8
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/ortc.d.ts.map +1 -1
- package/lib/ortc.js +196 -98
- package/lib/utils.d.ts.map +1 -1
- package/lib/utils.js +2 -1
- package/package.json +3 -3
package/lib/handlers/Edge11.js
CHANGED
|
@@ -123,8 +123,9 @@ class Edge11 extends HandlerInterface_1.HandlerInterface {
|
|
|
123
123
|
async restartIce(iceParameters) {
|
|
124
124
|
logger.debug('restartIce()');
|
|
125
125
|
this._remoteIceParameters = iceParameters;
|
|
126
|
-
if (!this._transportReady)
|
|
126
|
+
if (!this._transportReady) {
|
|
127
127
|
return;
|
|
128
|
+
}
|
|
128
129
|
logger.debug('restartIce() | calling iceTransport.start()');
|
|
129
130
|
this._iceTransport.start(this._iceGatherer, iceParameters, 'controlling');
|
|
130
131
|
for (const candidate of this._remoteIceCandidates) {
|
|
@@ -139,20 +140,23 @@ class Edge11 extends HandlerInterface_1.HandlerInterface {
|
|
|
139
140
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
140
141
|
{ track, encodings, codecOptions, codec }) {
|
|
141
142
|
logger.debug('send() [kind:%s, track.id:%s]', track.kind, track.id);
|
|
142
|
-
if (!this._transportReady)
|
|
143
|
+
if (!this._transportReady) {
|
|
143
144
|
await this.setupTransport({ localDtlsRole: 'server' });
|
|
145
|
+
}
|
|
144
146
|
logger.debug('send() | calling new RTCRtpSender()');
|
|
145
147
|
const rtpSender = new RTCRtpSender(track, this._dtlsTransport);
|
|
146
148
|
const rtpParameters = utils.clone(this._sendingRtpParametersByKind[track.kind], {});
|
|
147
149
|
rtpParameters.codecs = ortc.reduceCodecs(rtpParameters.codecs, codec);
|
|
148
150
|
const useRtx = rtpParameters.codecs
|
|
149
151
|
.some((_codec) => /.+\/rtx$/i.test(_codec.mimeType));
|
|
150
|
-
if (!encodings)
|
|
152
|
+
if (!encodings) {
|
|
151
153
|
encodings = [{}];
|
|
154
|
+
}
|
|
152
155
|
for (const encoding of encodings) {
|
|
153
156
|
encoding.ssrc = utils.generateRandomNumber();
|
|
154
|
-
if (useRtx)
|
|
157
|
+
if (useRtx) {
|
|
155
158
|
encoding.rtx = { ssrc: utils.generateRandomNumber() };
|
|
159
|
+
}
|
|
156
160
|
}
|
|
157
161
|
rtpParameters.encodings = encodings;
|
|
158
162
|
// Fill RTCRtpParameters.rtcp.
|
|
@@ -176,8 +180,9 @@ class Edge11 extends HandlerInterface_1.HandlerInterface {
|
|
|
176
180
|
async stopSending(localId) {
|
|
177
181
|
logger.debug('stopSending() [localId:%s]', localId);
|
|
178
182
|
const rtpSender = this._rtpSenders.get(localId);
|
|
179
|
-
if (!rtpSender)
|
|
183
|
+
if (!rtpSender) {
|
|
180
184
|
throw new Error('RTCRtpSender not found');
|
|
185
|
+
}
|
|
181
186
|
this._rtpSenders.delete(localId);
|
|
182
187
|
try {
|
|
183
188
|
logger.debug('stopSending() | calling rtpSender.stop()');
|
|
@@ -204,30 +209,35 @@ class Edge11 extends HandlerInterface_1.HandlerInterface {
|
|
|
204
209
|
logger.debug('replaceTrack() [localId:%s, no track]', localId);
|
|
205
210
|
}
|
|
206
211
|
const rtpSender = this._rtpSenders.get(localId);
|
|
207
|
-
if (!rtpSender)
|
|
212
|
+
if (!rtpSender) {
|
|
208
213
|
throw new Error('RTCRtpSender not found');
|
|
214
|
+
}
|
|
209
215
|
rtpSender.setTrack(track);
|
|
210
216
|
}
|
|
211
217
|
async setMaxSpatialLayer(localId, spatialLayer) {
|
|
212
218
|
logger.debug('setMaxSpatialLayer() [localId:%s, spatialLayer:%s]', localId, spatialLayer);
|
|
213
219
|
const rtpSender = this._rtpSenders.get(localId);
|
|
214
|
-
if (!rtpSender)
|
|
220
|
+
if (!rtpSender) {
|
|
215
221
|
throw new Error('RTCRtpSender not found');
|
|
222
|
+
}
|
|
216
223
|
const parameters = rtpSender.getParameters();
|
|
217
224
|
parameters.encodings
|
|
218
225
|
.forEach((encoding, idx) => {
|
|
219
|
-
if (idx <= spatialLayer)
|
|
226
|
+
if (idx <= spatialLayer) {
|
|
220
227
|
encoding.active = true;
|
|
221
|
-
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
222
230
|
encoding.active = false;
|
|
231
|
+
}
|
|
223
232
|
});
|
|
224
233
|
await rtpSender.setParameters(parameters);
|
|
225
234
|
}
|
|
226
235
|
async setRtpEncodingParameters(localId, params) {
|
|
227
236
|
logger.debug('setRtpEncodingParameters() [localId:%s, params:%o]', localId, params);
|
|
228
237
|
const rtpSender = this._rtpSenders.get(localId);
|
|
229
|
-
if (!rtpSender)
|
|
238
|
+
if (!rtpSender) {
|
|
230
239
|
throw new Error('RTCRtpSender not found');
|
|
240
|
+
}
|
|
231
241
|
const parameters = rtpSender.getParameters();
|
|
232
242
|
parameters.encodings.forEach((encoding, idx) => {
|
|
233
243
|
parameters.encodings[idx] = { ...encoding, ...params };
|
|
@@ -236,8 +246,9 @@ class Edge11 extends HandlerInterface_1.HandlerInterface {
|
|
|
236
246
|
}
|
|
237
247
|
async getSenderStats(localId) {
|
|
238
248
|
const rtpSender = this._rtpSenders.get(localId);
|
|
239
|
-
if (!rtpSender)
|
|
249
|
+
if (!rtpSender) {
|
|
240
250
|
throw new Error('RTCRtpSender not found');
|
|
251
|
+
}
|
|
241
252
|
return rtpSender.getStats();
|
|
242
253
|
}
|
|
243
254
|
async sendDataChannel(
|
|
@@ -251,8 +262,9 @@ class Edge11 extends HandlerInterface_1.HandlerInterface {
|
|
|
251
262
|
const { trackId, kind } = options;
|
|
252
263
|
logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
|
|
253
264
|
}
|
|
254
|
-
if (!this._transportReady)
|
|
265
|
+
if (!this._transportReady) {
|
|
255
266
|
await this.setupTransport({ localDtlsRole: 'server' });
|
|
267
|
+
}
|
|
256
268
|
for (const options of optionsList) {
|
|
257
269
|
const { trackId, kind, rtpParameters } = options;
|
|
258
270
|
logger.debug('receive() | calling new RTCRtpReceiver()');
|
|
@@ -280,8 +292,9 @@ class Edge11 extends HandlerInterface_1.HandlerInterface {
|
|
|
280
292
|
for (const localId of localIds) {
|
|
281
293
|
logger.debug('stopReceiving() [localId:%s]', localId);
|
|
282
294
|
const rtpReceiver = this._rtpReceivers.get(localId);
|
|
283
|
-
if (!rtpReceiver)
|
|
295
|
+
if (!rtpReceiver) {
|
|
284
296
|
throw new Error('RTCRtpReceiver not found');
|
|
297
|
+
}
|
|
285
298
|
this._rtpReceivers.delete(localId);
|
|
286
299
|
try {
|
|
287
300
|
logger.debug('stopReceiving() | calling rtpReceiver.stop()');
|
|
@@ -304,8 +317,9 @@ class Edge11 extends HandlerInterface_1.HandlerInterface {
|
|
|
304
317
|
}
|
|
305
318
|
async getReceiverStats(localId) {
|
|
306
319
|
const rtpReceiver = this._rtpReceivers.get(localId);
|
|
307
|
-
if (!rtpReceiver)
|
|
320
|
+
if (!rtpReceiver) {
|
|
308
321
|
throw new Error('RTCRtpReceiver not found');
|
|
322
|
+
}
|
|
309
323
|
return rtpReceiver.getStats();
|
|
310
324
|
}
|
|
311
325
|
async receiveDataChannel(
|
|
@@ -389,8 +403,9 @@ class Edge11 extends HandlerInterface_1.HandlerInterface {
|
|
|
389
403
|
// NOTE: Not standard, but implemented by Edge.
|
|
390
404
|
dtlsTransport.addEventListener('dtlsstatechange', () => {
|
|
391
405
|
logger.debug('dtlsTransport "dtlsstatechange" event [state:%s]', dtlsTransport.state);
|
|
392
|
-
if (dtlsTransport.state === 'closed')
|
|
406
|
+
if (dtlsTransport.state === 'closed') {
|
|
393
407
|
this.emit('@connectionstatechange', 'closed');
|
|
408
|
+
}
|
|
394
409
|
});
|
|
395
410
|
dtlsTransport.addEventListener('error', (event) => {
|
|
396
411
|
logger.error('dtlsTransport "error" event [event:%o]', event);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FakeHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/FakeHandler.ts"],"names":[],"mappings":"AAKA,OAAO,EACN,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;AAC5B,OAAO,EACN,aAAa,EACb,cAAc,EAEd,eAAe,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAiB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAyDrD,MAAM,MAAM,cAAc,GAC1B;IACC,6BAA6B,EAAE,MAAM,eAAe,CAAC;IACrD,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;IACvD,2BAA2B,EAAE,MAAM,cAAc,CAAC;CAClD,CAAC;AAEF,qBAAa,WAAY,SAAQ,gBAAgB;IAGhD,OAAO,CAAC,cAAc,CAAM;IAE5B,OAAO,CAAC,oBAAoB,CAAC,CAAmC;IAEhE,OAAO,CAAC,MAAM,CAA2C;IAEzD,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,YAAY,CAAK;IAEzB,OAAO,CAAC,OAAO,CAAmD;IAElE,OAAO,CAAC,iBAAiB,CAAK;IAE9B;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,cAAc,SAEvC,WAAW;gBAGX,cAAc,EAAE,GAAG;IAO/B,IAAI,IAAI,IAAI,MAAM,CAGjB;IAED,KAAK,IAAI,IAAI;IAMb,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI;IAKpD,wBAAwB,IAAI,OAAO,CAAC,eAAe,CAAC;IAOpD,yBAAyB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAO5D,GAAG,CACF,EAEC,SAAS,EACT,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EAEvB,EAAE,iBAAiB,GAClB,IAAI;IAcD,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvD,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAK5C,IAAI,CAET,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAC3D,OAAO,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"FakeHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/FakeHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -122,18 +122,21 @@ class FakeHandler extends HandlerInterface_1.HandlerInterface {
|
|
|
122
122
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
123
123
|
{ track, encodings, codecOptions, codec }) {
|
|
124
124
|
logger.debug('send() [kind:%s, track.id:%s]', track.kind, track.id);
|
|
125
|
-
if (!this._transportReady)
|
|
125
|
+
if (!this._transportReady) {
|
|
126
126
|
await this.setupTransport({ localDtlsRole: 'server' });
|
|
127
|
+
}
|
|
127
128
|
const rtpParameters = utils.clone(this._rtpParametersByKind[track.kind], {});
|
|
128
129
|
const useRtx = rtpParameters.codecs
|
|
129
130
|
.some((_codec) => /.+\/rtx$/i.test(_codec.mimeType));
|
|
130
131
|
rtpParameters.mid = `mid-${utils.generateRandomNumber()}`;
|
|
131
|
-
if (!encodings)
|
|
132
|
+
if (!encodings) {
|
|
132
133
|
encodings = [{}];
|
|
134
|
+
}
|
|
133
135
|
for (const encoding of encodings) {
|
|
134
136
|
encoding.ssrc = utils.generateRandomNumber();
|
|
135
|
-
if (useRtx)
|
|
137
|
+
if (useRtx) {
|
|
136
138
|
encoding.rtx = { ssrc: utils.generateRandomNumber() };
|
|
139
|
+
}
|
|
137
140
|
}
|
|
138
141
|
rtpParameters.encodings = encodings;
|
|
139
142
|
// Fill RTCRtpParameters.rtcp.
|
|
@@ -149,8 +152,9 @@ class FakeHandler extends HandlerInterface_1.HandlerInterface {
|
|
|
149
152
|
}
|
|
150
153
|
async stopSending(localId) {
|
|
151
154
|
logger.debug('stopSending() [localId:%s]', localId);
|
|
152
|
-
if (!this._tracks.has(Number(localId)))
|
|
155
|
+
if (!this._tracks.has(Number(localId))) {
|
|
153
156
|
throw new Error('local track not found');
|
|
157
|
+
}
|
|
154
158
|
this._tracks.delete(Number(localId));
|
|
155
159
|
}
|
|
156
160
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -182,8 +186,9 @@ class FakeHandler extends HandlerInterface_1.HandlerInterface {
|
|
|
182
186
|
return new Map(); // NOTE: Whatever.
|
|
183
187
|
}
|
|
184
188
|
async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }) {
|
|
185
|
-
if (!this._transportReady)
|
|
189
|
+
if (!this._transportReady) {
|
|
186
190
|
await this.setupTransport({ localDtlsRole: 'server' });
|
|
191
|
+
}
|
|
187
192
|
logger.debug('sendDataChannel()');
|
|
188
193
|
const dataChannel = new FakeDataChannel({
|
|
189
194
|
id: this._nextSctpStreamId++,
|
|
@@ -206,8 +211,9 @@ class FakeHandler extends HandlerInterface_1.HandlerInterface {
|
|
|
206
211
|
const results = [];
|
|
207
212
|
for (const options of optionsList) {
|
|
208
213
|
const { trackId, kind } = options;
|
|
209
|
-
if (!this._transportReady)
|
|
214
|
+
if (!this._transportReady) {
|
|
210
215
|
await this.setupTransport({ localDtlsRole: 'client' });
|
|
216
|
+
}
|
|
211
217
|
logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
|
|
212
218
|
const localId = this._nextLocalId++;
|
|
213
219
|
const track = new fake_mediastreamtrack_1.FakeMediaStreamTrack({ kind });
|
|
@@ -237,8 +243,9 @@ class FakeHandler extends HandlerInterface_1.HandlerInterface {
|
|
|
237
243
|
return new Map(); //
|
|
238
244
|
}
|
|
239
245
|
async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
|
|
240
|
-
if (!this._transportReady)
|
|
246
|
+
if (!this._transportReady) {
|
|
241
247
|
await this.setupTransport({ localDtlsRole: 'client' });
|
|
248
|
+
}
|
|
242
249
|
logger.debug('receiveDataChannel()');
|
|
243
250
|
const dataChannel = new FakeDataChannel({
|
|
244
251
|
id: sctpStreamParameters.streamId,
|
|
@@ -256,8 +263,9 @@ class FakeHandler extends HandlerInterface_1.HandlerInterface {
|
|
|
256
263
|
localSdpObject }) {
|
|
257
264
|
const dtlsParameters = utils.clone(this.fakeParameters.generateLocalDtlsParameters(), {});
|
|
258
265
|
// Set our DTLS role.
|
|
259
|
-
if (localDtlsRole)
|
|
266
|
+
if (localDtlsRole) {
|
|
260
267
|
dtlsParameters.role = localDtlsRole;
|
|
268
|
+
}
|
|
261
269
|
// Assume we are connecting now.
|
|
262
270
|
this.emit('@connectionstatechange', 'connecting');
|
|
263
271
|
// Need to tell the remote transport about our parameters.
|
|
@@ -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;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,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;IAcP,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;IA0ED,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"Firefox60.d.ts","sourceRoot":"","sources":["../../src/handlers/Firefox60.ts"],"names":[],"mappings":"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"}
|
|
@@ -197,8 +197,9 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
197
197
|
logger.debug('restartIce()');
|
|
198
198
|
// Provide the remote SDP handler with new remote ICE parameters.
|
|
199
199
|
this._remoteSdp.updateIceParameters(iceParameters);
|
|
200
|
-
if (!this._transportReady)
|
|
200
|
+
if (!this._transportReady) {
|
|
201
201
|
return;
|
|
202
|
+
}
|
|
202
203
|
if (this._direction === 'send') {
|
|
203
204
|
const offer = await this._pc.createOffer({ iceRestart: true });
|
|
204
205
|
logger.debug('restartIce() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
@@ -258,8 +259,9 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
258
259
|
let localSdpObject = sdpTransform.parse(offer.sdp);
|
|
259
260
|
// In Firefox use DTLS role client even if we are the "offerer" since
|
|
260
261
|
// Firefox does not respect ICE-Lite.
|
|
261
|
-
if (!this._transportReady)
|
|
262
|
+
if (!this._transportReady) {
|
|
262
263
|
await this.setupTransport({ localDtlsRole: 'client', localSdpObject });
|
|
264
|
+
}
|
|
263
265
|
const layers = (0, scalabilityModes_1.parse)((encodings || [{}])[0].scalabilityMode);
|
|
264
266
|
logger.debug('send() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
265
267
|
await this._pc.setLocalDescription(offer);
|
|
@@ -324,8 +326,9 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
324
326
|
async stopSending(localId) {
|
|
325
327
|
logger.debug('stopSending() [localId:%s]', localId);
|
|
326
328
|
const transceiver = this._mapMidTransceiver.get(localId);
|
|
327
|
-
if (!transceiver)
|
|
329
|
+
if (!transceiver) {
|
|
328
330
|
throw new Error('associated transceiver not found');
|
|
331
|
+
}
|
|
329
332
|
transceiver.sender.replaceTrack(null);
|
|
330
333
|
// NOTE: Cannot use stop() the transceiver due to the the note above in
|
|
331
334
|
// send() method.
|
|
@@ -353,8 +356,9 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
353
356
|
this.assertSendDirection();
|
|
354
357
|
logger.debug('pauseSending() [localId:%s]', localId);
|
|
355
358
|
const transceiver = this._mapMidTransceiver.get(localId);
|
|
356
|
-
if (!transceiver)
|
|
359
|
+
if (!transceiver) {
|
|
357
360
|
throw new Error('associated RTCRtpTransceiver not found');
|
|
361
|
+
}
|
|
358
362
|
transceiver.direction = 'inactive';
|
|
359
363
|
this._remoteSdp.pauseMediaSection(localId);
|
|
360
364
|
const offer = await this._pc.createOffer();
|
|
@@ -369,8 +373,9 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
369
373
|
this.assertSendDirection();
|
|
370
374
|
logger.debug('resumeSending() [localId:%s]', localId);
|
|
371
375
|
const transceiver = this._mapMidTransceiver.get(localId);
|
|
372
|
-
if (!transceiver)
|
|
376
|
+
if (!transceiver) {
|
|
373
377
|
throw new Error('associated RTCRtpTransceiver not found');
|
|
378
|
+
}
|
|
374
379
|
transceiver.direction = 'sendonly';
|
|
375
380
|
this._remoteSdp.resumeSendingMediaSection(localId);
|
|
376
381
|
const offer = await this._pc.createOffer();
|
|
@@ -389,25 +394,29 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
389
394
|
logger.debug('replaceTrack() [localId:%s, no track]', localId);
|
|
390
395
|
}
|
|
391
396
|
const transceiver = this._mapMidTransceiver.get(localId);
|
|
392
|
-
if (!transceiver)
|
|
397
|
+
if (!transceiver) {
|
|
393
398
|
throw new Error('associated RTCRtpTransceiver not found');
|
|
399
|
+
}
|
|
394
400
|
await transceiver.sender.replaceTrack(track);
|
|
395
401
|
}
|
|
396
402
|
async setMaxSpatialLayer(localId, spatialLayer) {
|
|
397
403
|
this.assertSendDirection();
|
|
398
404
|
logger.debug('setMaxSpatialLayer() [localId:%s, spatialLayer:%s]', localId, spatialLayer);
|
|
399
405
|
const transceiver = this._mapMidTransceiver.get(localId);
|
|
400
|
-
if (!transceiver)
|
|
406
|
+
if (!transceiver) {
|
|
401
407
|
throw new Error('associated transceiver not found');
|
|
408
|
+
}
|
|
402
409
|
const parameters = transceiver.sender.getParameters();
|
|
403
410
|
// NOTE: We require encodings given from low to high, however Firefox
|
|
404
411
|
// requires them in reverse order, so do magic here.
|
|
405
412
|
spatialLayer = parameters.encodings.length - 1 - spatialLayer;
|
|
406
413
|
parameters.encodings.forEach((encoding, idx) => {
|
|
407
|
-
if (idx >= spatialLayer)
|
|
414
|
+
if (idx >= spatialLayer) {
|
|
408
415
|
encoding.active = true;
|
|
409
|
-
|
|
416
|
+
}
|
|
417
|
+
else {
|
|
410
418
|
encoding.active = false;
|
|
419
|
+
}
|
|
411
420
|
});
|
|
412
421
|
await transceiver.sender.setParameters(parameters);
|
|
413
422
|
this._remoteSdp.muxMediaSectionSimulcast(localId, parameters.encodings);
|
|
@@ -422,8 +431,9 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
422
431
|
this.assertSendDirection();
|
|
423
432
|
logger.debug('setRtpEncodingParameters() [localId:%s, params:%o]', localId, params);
|
|
424
433
|
const transceiver = this._mapMidTransceiver.get(localId);
|
|
425
|
-
if (!transceiver)
|
|
434
|
+
if (!transceiver) {
|
|
426
435
|
throw new Error('associated RTCRtpTransceiver not found');
|
|
436
|
+
}
|
|
427
437
|
const parameters = transceiver.sender.getParameters();
|
|
428
438
|
parameters.encodings.forEach((encoding, idx) => {
|
|
429
439
|
parameters.encodings[idx] = { ...encoding, ...params };
|
|
@@ -440,8 +450,9 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
440
450
|
async getSenderStats(localId) {
|
|
441
451
|
this.assertSendDirection();
|
|
442
452
|
const transceiver = this._mapMidTransceiver.get(localId);
|
|
443
|
-
if (!transceiver)
|
|
453
|
+
if (!transceiver) {
|
|
444
454
|
throw new Error('associated RTCRtpTransceiver not found');
|
|
455
|
+
}
|
|
445
456
|
return transceiver.sender.getStats();
|
|
446
457
|
}
|
|
447
458
|
async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }) {
|
|
@@ -466,8 +477,9 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
466
477
|
const localSdpObject = sdpTransform.parse(offer.sdp);
|
|
467
478
|
const offerMediaObject = localSdpObject.media
|
|
468
479
|
.find((m) => m.type === 'application');
|
|
469
|
-
if (!this._transportReady)
|
|
480
|
+
if (!this._transportReady) {
|
|
470
481
|
await this.setupTransport({ localDtlsRole: 'client', localSdpObject });
|
|
482
|
+
}
|
|
471
483
|
logger.debug('sendDataChannel() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
472
484
|
await this._pc.setLocalDescription(offer);
|
|
473
485
|
this._remoteSdp.sendSctpAssociation({ offerMediaObject });
|
|
@@ -521,8 +533,9 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
521
533
|
});
|
|
522
534
|
answer = { type: 'answer', sdp: sdpTransform.write(localSdpObject) };
|
|
523
535
|
}
|
|
524
|
-
if (!this._transportReady)
|
|
536
|
+
if (!this._transportReady) {
|
|
525
537
|
await this.setupTransport({ localDtlsRole: 'client', localSdpObject });
|
|
538
|
+
}
|
|
526
539
|
logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer);
|
|
527
540
|
await this._pc.setLocalDescription(answer);
|
|
528
541
|
for (const options of optionsList) {
|
|
@@ -530,8 +543,9 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
530
543
|
const localId = mapLocalId.get(trackId);
|
|
531
544
|
const transceiver = this._pc.getTransceivers()
|
|
532
545
|
.find((t) => t.mid === localId);
|
|
533
|
-
if (!transceiver)
|
|
546
|
+
if (!transceiver) {
|
|
534
547
|
throw new Error('new RTCRtpTransceiver not found');
|
|
548
|
+
}
|
|
535
549
|
// Store in the map.
|
|
536
550
|
this._mapMidTransceiver.set(localId, transceiver);
|
|
537
551
|
results.push({
|
|
@@ -547,8 +561,9 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
547
561
|
for (const localId of localIds) {
|
|
548
562
|
logger.debug('stopReceiving() [localId:%s]', localId);
|
|
549
563
|
const transceiver = this._mapMidTransceiver.get(localId);
|
|
550
|
-
if (!transceiver)
|
|
564
|
+
if (!transceiver) {
|
|
551
565
|
throw new Error('associated RTCRtpTransceiver not found');
|
|
566
|
+
}
|
|
552
567
|
this._remoteSdp.closeMediaSection(transceiver.mid);
|
|
553
568
|
}
|
|
554
569
|
const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
|
|
@@ -566,8 +581,9 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
566
581
|
for (const localId of localIds) {
|
|
567
582
|
logger.debug('pauseReceiving() [localId:%s]', localId);
|
|
568
583
|
const transceiver = this._mapMidTransceiver.get(localId);
|
|
569
|
-
if (!transceiver)
|
|
584
|
+
if (!transceiver) {
|
|
570
585
|
throw new Error('associated RTCRtpTransceiver not found');
|
|
586
|
+
}
|
|
571
587
|
transceiver.direction = 'inactive';
|
|
572
588
|
this._remoteSdp.pauseMediaSection(localId);
|
|
573
589
|
}
|
|
@@ -583,8 +599,9 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
583
599
|
for (const localId of localIds) {
|
|
584
600
|
logger.debug('resumeReceiving() [localId:%s]', localId);
|
|
585
601
|
const transceiver = this._mapMidTransceiver.get(localId);
|
|
586
|
-
if (!transceiver)
|
|
602
|
+
if (!transceiver) {
|
|
587
603
|
throw new Error('associated RTCRtpTransceiver not found');
|
|
604
|
+
}
|
|
588
605
|
transceiver.direction = 'recvonly';
|
|
589
606
|
this._remoteSdp.resumeReceivingMediaSection(localId);
|
|
590
607
|
}
|
|
@@ -598,8 +615,9 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
598
615
|
async getReceiverStats(localId) {
|
|
599
616
|
this.assertRecvDirection();
|
|
600
617
|
const transceiver = this._mapMidTransceiver.get(localId);
|
|
601
|
-
if (!transceiver)
|
|
618
|
+
if (!transceiver) {
|
|
602
619
|
throw new Error('associated RTCRtpTransceiver not found');
|
|
620
|
+
}
|
|
603
621
|
return transceiver.receiver.getStats();
|
|
604
622
|
}
|
|
605
623
|
async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
|
|
@@ -634,8 +652,9 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
634
652
|
return { dataChannel };
|
|
635
653
|
}
|
|
636
654
|
async setupTransport({ localDtlsRole, localSdpObject }) {
|
|
637
|
-
if (!localSdpObject)
|
|
655
|
+
if (!localSdpObject) {
|
|
638
656
|
localSdpObject = sdpTransform.parse(this._pc.localDescription.sdp);
|
|
657
|
+
}
|
|
639
658
|
// Get our local DTLS parameters.
|
|
640
659
|
const dtlsParameters = sdpCommonUtils.extractDtlsParameters({ sdpObject: localSdpObject });
|
|
641
660
|
// Set our DTLS role.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactNative.d.ts","sourceRoot":"","sources":["../../src/handlers/ReactNative.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,WAAY,SAAQ,gBAAgB;IAGhD,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,WAAW,CAAqB;IAEjD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA4C;IAEjF,OAAO,CAAC,gBAAgB,CAAK;IAG7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAOrB;IAEf,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;IAmBP,wBAAwB,IAAI,OAAO,CAAC,eAAe,CAAC;IAuCpD,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;IAkFD,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"ReactNative.d.ts","sourceRoot":"","sources":["../../src/handlers/ReactNative.ts"],"names":[],"mappings":"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"}
|
|
@@ -186,8 +186,9 @@ class ReactNative extends HandlerInterface_1.HandlerInterface {
|
|
|
186
186
|
logger.debug('restartIce()');
|
|
187
187
|
// Provide the remote SDP handler with new remote ICE parameters.
|
|
188
188
|
this._remoteSdp.updateIceParameters(iceParameters);
|
|
189
|
-
if (!this._transportReady)
|
|
189
|
+
if (!this._transportReady) {
|
|
190
190
|
return;
|
|
191
|
+
}
|
|
191
192
|
if (this._direction === 'send') {
|
|
192
193
|
const offer = await this._pc.createOffer({ iceRestart: true });
|
|
193
194
|
logger.debug('restartIce() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
@@ -258,8 +259,9 @@ class ReactNative extends HandlerInterface_1.HandlerInterface {
|
|
|
258
259
|
// Complete encodings with given values.
|
|
259
260
|
if (encodings) {
|
|
260
261
|
for (let idx = 0; idx < sendingRtpParameters.encodings.length; ++idx) {
|
|
261
|
-
if (encodings[idx])
|
|
262
|
+
if (encodings[idx]) {
|
|
262
263
|
Object.assign(sendingRtpParameters.encodings[idx], encodings[idx]);
|
|
264
|
+
}
|
|
263
265
|
}
|
|
264
266
|
}
|
|
265
267
|
// If VP8 or H264 and there is effective simulcast, add scalabilityMode to
|
|
@@ -293,8 +295,9 @@ class ReactNative extends HandlerInterface_1.HandlerInterface {
|
|
|
293
295
|
this.assertSendDirection();
|
|
294
296
|
logger.debug('stopSending() [localId:%s]', localId);
|
|
295
297
|
const track = this._mapSendLocalIdTrack.get(localId);
|
|
296
|
-
if (!track)
|
|
298
|
+
if (!track) {
|
|
297
299
|
throw new Error('track not found');
|
|
300
|
+
}
|
|
298
301
|
this._mapSendLocalIdTrack.delete(localId);
|
|
299
302
|
this._sendStream.removeTrack(track);
|
|
300
303
|
this._pc.addStream(this._sendStream);
|
|
@@ -312,8 +315,9 @@ class ReactNative extends HandlerInterface_1.HandlerInterface {
|
|
|
312
315
|
}
|
|
313
316
|
throw error;
|
|
314
317
|
}
|
|
315
|
-
if (this._pc.signalingState === 'stable')
|
|
318
|
+
if (this._pc.signalingState === 'stable') {
|
|
316
319
|
return;
|
|
320
|
+
}
|
|
317
321
|
const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
|
|
318
322
|
logger.debug('stopSending() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
319
323
|
await this._pc.setRemoteDescription(answer);
|
|
@@ -449,8 +453,9 @@ class ReactNative extends HandlerInterface_1.HandlerInterface {
|
|
|
449
453
|
const stream = this._pc.getRemoteStreams()
|
|
450
454
|
.find((s) => s.id === streamId);
|
|
451
455
|
const track = stream.getTrackById(localId);
|
|
452
|
-
if (!track)
|
|
456
|
+
if (!track) {
|
|
453
457
|
throw new Error('remote track not found');
|
|
458
|
+
}
|
|
454
459
|
// Insert into the map.
|
|
455
460
|
this._mapRecvLocalIdInfo.set(localId, { mid, rtpParameters });
|
|
456
461
|
results.push({ localId, track });
|
|
@@ -524,8 +529,9 @@ class ReactNative extends HandlerInterface_1.HandlerInterface {
|
|
|
524
529
|
return { dataChannel };
|
|
525
530
|
}
|
|
526
531
|
async setupTransport({ localDtlsRole, localSdpObject }) {
|
|
527
|
-
if (!localSdpObject)
|
|
532
|
+
if (!localSdpObject) {
|
|
528
533
|
localSdpObject = sdpTransform.parse(this._pc.localDescription.sdp);
|
|
534
|
+
}
|
|
529
535
|
// Get our local DTLS parameters.
|
|
530
536
|
const dtlsParameters = sdpCommonUtils.extractDtlsParameters({ sdpObject: localSdpObject });
|
|
531
537
|
// Set our DTLS role.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactNativeUnifiedPlan.d.ts","sourceRoot":"","sources":["../../src/handlers/ReactNativeUnifiedPlan.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ReactNativeUnifiedPlan.d.ts","sourceRoot":"","sources":["../../src/handlers/ReactNativeUnifiedPlan.ts"],"names":[],"mappings":"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"}
|