mediasoup-client 3.6.47 → 3.6.48
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/Transport.d.ts +3 -0
- package/lib/Transport.d.ts.map +1 -1
- package/lib/Transport.js +110 -39
- package/lib/handlers/Chrome55.d.ts +1 -1
- package/lib/handlers/Chrome55.d.ts.map +1 -1
- package/lib/handlers/Chrome55.js +42 -28
- package/lib/handlers/Chrome67.d.ts +1 -1
- package/lib/handlers/Chrome67.d.ts.map +1 -1
- package/lib/handlers/Chrome67.js +45 -30
- package/lib/handlers/Chrome70.d.ts +1 -1
- package/lib/handlers/Chrome70.d.ts.map +1 -1
- package/lib/handlers/Chrome70.js +42 -29
- package/lib/handlers/Chrome74.d.ts +1 -1
- package/lib/handlers/Chrome74.d.ts.map +1 -1
- package/lib/handlers/Chrome74.js +45 -29
- package/lib/handlers/Edge11.d.ts +1 -1
- package/lib/handlers/Edge11.d.ts.map +1 -1
- package/lib/handlers/Edge11.js +28 -20
- package/lib/handlers/FakeHandler.d.ts +1 -1
- package/lib/handlers/FakeHandler.d.ts.map +1 -1
- package/lib/handlers/FakeHandler.js +13 -10
- package/lib/handlers/Firefox60.d.ts +1 -1
- package/lib/handlers/Firefox60.d.ts.map +1 -1
- package/lib/handlers/Firefox60.js +45 -30
- package/lib/handlers/HandlerInterface.d.ts +1 -1
- package/lib/handlers/HandlerInterface.d.ts.map +1 -1
- package/lib/handlers/ReactNative.d.ts +1 -1
- package/lib/handlers/ReactNative.d.ts.map +1 -1
- package/lib/handlers/ReactNative.js +48 -34
- package/lib/handlers/Safari11.d.ts +1 -1
- package/lib/handlers/Safari11.d.ts.map +1 -1
- package/lib/handlers/Safari11.js +43 -30
- package/lib/handlers/Safari12.d.ts +1 -1
- package/lib/handlers/Safari12.d.ts.map +1 -1
- package/lib/handlers/Safari12.js +42 -29
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/ortc.js +0 -2
- package/package.json +10 -10
- package/src/Transport.ts +162 -58
- package/src/handlers/Chrome55.ts +52 -31
- package/src/handlers/Chrome67.ts +54 -33
- package/src/handlers/Chrome70.ts +52 -32
- package/src/handlers/Chrome74.ts +56 -32
- package/src/handlers/Edge11.ts +39 -25
- package/src/handlers/FakeHandler.ts +18 -10
- package/src/handlers/Firefox60.ts +54 -33
- package/src/handlers/HandlerInterface.ts +2 -2
- package/src/handlers/ReactNative.ts +59 -38
- package/src/handlers/Safari11.ts +54 -33
- package/src/handlers/Safari12.ts +52 -32
- package/src/ortc.ts +0 -2
package/lib/Transport.d.ts
CHANGED
|
@@ -116,6 +116,8 @@ export declare class Transport extends EnhancedEventEmitter {
|
|
|
116
116
|
private readonly _dataConsumers;
|
|
117
117
|
private _probatorConsumerCreated;
|
|
118
118
|
private readonly _awaitQueue;
|
|
119
|
+
private _pendingConsumerTasks;
|
|
120
|
+
private _consumerCreationInProgress;
|
|
119
121
|
protected readonly _observer: EnhancedEventEmitter;
|
|
120
122
|
/**
|
|
121
123
|
* @emits connect - (transportLocalParameters: any, callback: Function, errback: Function)
|
|
@@ -200,6 +202,7 @@ export declare class Transport extends EnhancedEventEmitter {
|
|
|
200
202
|
* Create a DataConsumer
|
|
201
203
|
*/
|
|
202
204
|
consumeData({ id, dataProducerId, sctpStreamParameters, label, protocol, appData }: DataConsumerOptions): Promise<DataConsumer>;
|
|
205
|
+
_createPendingConsumers(): Promise<void>;
|
|
203
206
|
_handleHandler(): void;
|
|
204
207
|
_handleProducer(producer: Producer): void;
|
|
205
208
|
_handleConsumer(consumer: Consumer): void;
|
package/lib/Transport.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../src/Transport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EAAE,cAAc,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../src/Transport.ts"],"names":[],"mappings":"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"}
|
package/lib/Transport.js
CHANGED
|
@@ -30,6 +30,15 @@ const Producer_1 = require("./Producer");
|
|
|
30
30
|
const Consumer_1 = require("./Consumer");
|
|
31
31
|
const DataProducer_1 = require("./DataProducer");
|
|
32
32
|
const DataConsumer_1 = require("./DataConsumer");
|
|
33
|
+
class ConsumerCreationTask {
|
|
34
|
+
constructor(consumerOptions) {
|
|
35
|
+
this.consumerOptions = consumerOptions;
|
|
36
|
+
this.promise = new Promise((resolve, reject) => {
|
|
37
|
+
this.resolve = resolve;
|
|
38
|
+
this.reject = reject;
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
33
42
|
const logger = new Logger_1.Logger('Transport');
|
|
34
43
|
class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
|
|
35
44
|
/**
|
|
@@ -56,6 +65,10 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
|
|
|
56
65
|
this._probatorConsumerCreated = false;
|
|
57
66
|
// AwaitQueue instance to make async tasks happen sequentially.
|
|
58
67
|
this._awaitQueue = new awaitqueue_1.AwaitQueue({ ClosedErrorClass: errors_1.InvalidStateError });
|
|
68
|
+
// Consumer creation tasks awaiting to be processed.
|
|
69
|
+
this._pendingConsumerTasks = [];
|
|
70
|
+
// Consumer creation in progress flag.
|
|
71
|
+
this._consumerCreationInProgress = false;
|
|
59
72
|
// Observer instance.
|
|
60
73
|
this._observer = new EnhancedEventEmitter_1.EnhancedEventEmitter();
|
|
61
74
|
logger.debug('constructor() [id:%s, direction:%s]', id, direction);
|
|
@@ -333,45 +346,24 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
|
|
|
333
346
|
throw new TypeError('no "connect" listener set into this transport');
|
|
334
347
|
else if (appData && typeof appData !== 'object')
|
|
335
348
|
throw new TypeError('if given, appData must be an object');
|
|
336
|
-
//
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
// If this is the first video Consumer and the Consumer for RTP probation
|
|
355
|
-
// has not yet been created, create it now.
|
|
356
|
-
if (!this._probatorConsumerCreated && kind === 'video') {
|
|
357
|
-
try {
|
|
358
|
-
const probatorRtpParameters = ortc.generateProbatorRtpParameters(consumer.rtpParameters);
|
|
359
|
-
await this._handler.receive({
|
|
360
|
-
trackId: 'probator',
|
|
361
|
-
kind: 'video',
|
|
362
|
-
rtpParameters: probatorRtpParameters
|
|
363
|
-
});
|
|
364
|
-
logger.debug('consume() | Consumer for RTP probation created');
|
|
365
|
-
this._probatorConsumerCreated = true;
|
|
366
|
-
}
|
|
367
|
-
catch (error) {
|
|
368
|
-
logger.error('consume() | failed to create Consumer for RTP probation:%o', error);
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
// Emit observer event.
|
|
372
|
-
this._observer.safeEmit('newconsumer', consumer);
|
|
373
|
-
return consumer;
|
|
374
|
-
}, 'transport.consume()');
|
|
349
|
+
// Ensure the device can consume it.
|
|
350
|
+
const canConsume = ortc.canReceive(rtpParameters, this._extendedRtpCapabilities);
|
|
351
|
+
if (!canConsume)
|
|
352
|
+
throw new errors_1.UnsupportedError('cannot consume this Producer');
|
|
353
|
+
const consumerCreationTask = new ConsumerCreationTask({
|
|
354
|
+
id,
|
|
355
|
+
producerId,
|
|
356
|
+
kind,
|
|
357
|
+
rtpParameters,
|
|
358
|
+
appData
|
|
359
|
+
});
|
|
360
|
+
// Store the Consumer creation task.
|
|
361
|
+
this._pendingConsumerTasks.push(consumerCreationTask);
|
|
362
|
+
// There is no Consumer creation in progress, create it now.
|
|
363
|
+
if (this._consumerCreationInProgress === false) {
|
|
364
|
+
this._createPendingConsumers();
|
|
365
|
+
}
|
|
366
|
+
return consumerCreationTask.promise;
|
|
375
367
|
}
|
|
376
368
|
/**
|
|
377
369
|
* Create a DataProducer
|
|
@@ -458,6 +450,85 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
|
|
|
458
450
|
return dataConsumer;
|
|
459
451
|
}, 'transport.consumeData()');
|
|
460
452
|
}
|
|
453
|
+
// This method is guaranteed to never throw.
|
|
454
|
+
async _createPendingConsumers() {
|
|
455
|
+
this._awaitQueue.push(async () => {
|
|
456
|
+
this._consumerCreationInProgress = true;
|
|
457
|
+
const pendingConsumerTasks = [...this._pendingConsumerTasks];
|
|
458
|
+
// Clear pending Consumer tasks.
|
|
459
|
+
this._pendingConsumerTasks = [];
|
|
460
|
+
// Video Consumer in order to create the probator.
|
|
461
|
+
let videoConsumerForProbator = undefined;
|
|
462
|
+
// Fill options list.
|
|
463
|
+
const optionsList = [];
|
|
464
|
+
for (const task of pendingConsumerTasks) {
|
|
465
|
+
const { id, kind, rtpParameters } = task.consumerOptions;
|
|
466
|
+
optionsList.push({
|
|
467
|
+
trackId: id,
|
|
468
|
+
kind: kind,
|
|
469
|
+
rtpParameters
|
|
470
|
+
});
|
|
471
|
+
}
|
|
472
|
+
try {
|
|
473
|
+
const results = await this._handler.receive(optionsList);
|
|
474
|
+
for (let idx = 0; idx < results.length; idx++) {
|
|
475
|
+
const task = pendingConsumerTasks[idx];
|
|
476
|
+
const result = results[idx];
|
|
477
|
+
const { id, producerId, kind, rtpParameters, appData } = task.consumerOptions;
|
|
478
|
+
const { localId, rtpReceiver, track } = result;
|
|
479
|
+
const consumer = new Consumer_1.Consumer({
|
|
480
|
+
id: id,
|
|
481
|
+
localId,
|
|
482
|
+
producerId: producerId,
|
|
483
|
+
rtpReceiver,
|
|
484
|
+
track,
|
|
485
|
+
rtpParameters,
|
|
486
|
+
appData
|
|
487
|
+
});
|
|
488
|
+
this._consumers.set(consumer.id, consumer);
|
|
489
|
+
this._handleConsumer(consumer);
|
|
490
|
+
// If this is the first video Consumer and the Consumer for RTP probation
|
|
491
|
+
// has not yet been created, it's time to create it.
|
|
492
|
+
if (!this._probatorConsumerCreated && !videoConsumerForProbator && kind === 'video') {
|
|
493
|
+
videoConsumerForProbator = consumer;
|
|
494
|
+
}
|
|
495
|
+
// Emit observer event.
|
|
496
|
+
this._observer.safeEmit('newconsumer', consumer);
|
|
497
|
+
task.resolve(consumer);
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
catch (error) {
|
|
501
|
+
for (const task of pendingConsumerTasks) {
|
|
502
|
+
task.reject(error);
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
// If RTP probation must be handled, do it now.
|
|
506
|
+
if (videoConsumerForProbator) {
|
|
507
|
+
try {
|
|
508
|
+
const probatorRtpParameters = ortc.generateProbatorRtpParameters(videoConsumerForProbator.rtpParameters);
|
|
509
|
+
await this._handler.receive([{
|
|
510
|
+
trackId: 'probator',
|
|
511
|
+
kind: 'video',
|
|
512
|
+
rtpParameters: probatorRtpParameters
|
|
513
|
+
}]);
|
|
514
|
+
logger.debug('_createPendingConsumers() | Consumer for RTP probation created');
|
|
515
|
+
this._probatorConsumerCreated = true;
|
|
516
|
+
}
|
|
517
|
+
catch (error) {
|
|
518
|
+
logger.error('_createPendingConsumers() | failed to create Consumer for RTP probation:%o', error);
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
this._consumerCreationInProgress = false;
|
|
522
|
+
}, 'transport._createPendingConsumers()')
|
|
523
|
+
.then(() => {
|
|
524
|
+
// There are pending Consumer tasks, enqueue their creation.
|
|
525
|
+
if (this._pendingConsumerTasks.length > 0) {
|
|
526
|
+
this._createPendingConsumers();
|
|
527
|
+
}
|
|
528
|
+
})
|
|
529
|
+
// NOTE: We only get here when the await queue is closed.
|
|
530
|
+
.catch(() => { });
|
|
531
|
+
}
|
|
461
532
|
_handleHandler() {
|
|
462
533
|
const handler = this._handler;
|
|
463
534
|
handler.on('@connect', ({ dtlsParameters }, callback, errback) => {
|
|
@@ -36,7 +36,7 @@ export declare class Chrome55 extends HandlerInterface {
|
|
|
36
36
|
setRtpEncodingParameters(localId: string, params: any): Promise<void>;
|
|
37
37
|
getSenderStats(localId: string): Promise<RTCStatsReport>;
|
|
38
38
|
sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
|
|
39
|
-
receive(
|
|
39
|
+
receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
|
|
40
40
|
stopReceiving(localId: string): Promise<void>;
|
|
41
41
|
pauseReceiving(localId: string): Promise<void>;
|
|
42
42
|
resumeReceiving(localId: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chrome55.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome55.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,QAAS,SAAQ,gBAAgB;IAG7C,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;IAYP,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;IAsED,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDvD,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAK5C,IAAI,CACT,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAC3D,OAAO,CAAC,iBAAiB,CAAC;IAgIvB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqD3C,YAAY,CAEjB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7C,OAAO,CAAC,IAAI,CAAC;IAMV,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxE,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAKxD,eAAe,CACpB,EACC,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,QAAQ,EACR,EAAE,6BAA6B,GAC9B,OAAO,CAAC,4BAA4B,CAAC;IAuElC,OAAO,CACZ,
|
|
1
|
+
{"version":3,"file":"Chrome55.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome55.ts"],"names":[],"mappings":"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"}
|
package/lib/handlers/Chrome55.js
CHANGED
|
@@ -363,33 +363,40 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
|
|
|
363
363
|
};
|
|
364
364
|
return { dataChannel, sctpStreamParameters };
|
|
365
365
|
}
|
|
366
|
-
async receive(
|
|
366
|
+
async receive(optionsList) {
|
|
367
367
|
var _a;
|
|
368
368
|
this._assertRecvDirection();
|
|
369
|
-
|
|
370
|
-
const
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
369
|
+
const results = [];
|
|
370
|
+
for (const options of optionsList) {
|
|
371
|
+
const { trackId, kind, rtpParameters } = options;
|
|
372
|
+
logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
|
|
373
|
+
const mid = kind;
|
|
374
|
+
const streamId = rtpParameters.rtcp.cname;
|
|
375
|
+
this._remoteSdp.receive({
|
|
376
|
+
mid,
|
|
377
|
+
kind,
|
|
378
|
+
offerRtpParameters: rtpParameters,
|
|
379
|
+
streamId,
|
|
380
|
+
trackId
|
|
381
|
+
});
|
|
382
|
+
}
|
|
380
383
|
const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
|
|
381
384
|
logger.debug('receive() | calling pc.setRemoteDescription() [offer:%o]', offer);
|
|
382
385
|
await this._pc.setRemoteDescription(offer);
|
|
383
386
|
let answer = await this._pc.createAnswer();
|
|
384
387
|
const localSdpObject = sdpTransform.parse(answer.sdp);
|
|
385
|
-
const
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
388
|
+
for (const options of optionsList) {
|
|
389
|
+
const { kind, rtpParameters } = options;
|
|
390
|
+
const mid = kind;
|
|
391
|
+
const answerMediaObject = localSdpObject.media
|
|
392
|
+
.find((m) => String(m.mid) === mid);
|
|
393
|
+
// May need to modify codec parameters in the answer based on codec
|
|
394
|
+
// parameters in the offer.
|
|
395
|
+
sdpCommonUtils.applyCodecParameters({
|
|
396
|
+
offerRtpParameters: rtpParameters,
|
|
397
|
+
answerMediaObject
|
|
398
|
+
});
|
|
399
|
+
}
|
|
393
400
|
answer = { type: 'answer', sdp: sdpTransform.write(localSdpObject) };
|
|
394
401
|
if (!this._transportReady) {
|
|
395
402
|
await this._setupTransport({
|
|
@@ -399,14 +406,21 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
|
|
|
399
406
|
}
|
|
400
407
|
logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer);
|
|
401
408
|
await this._pc.setLocalDescription(answer);
|
|
402
|
-
const
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
409
|
+
for (const options of optionsList) {
|
|
410
|
+
const { kind, trackId, rtpParameters } = options;
|
|
411
|
+
const mid = kind;
|
|
412
|
+
const localId = trackId;
|
|
413
|
+
const streamId = rtpParameters.rtcp.cname;
|
|
414
|
+
const stream = this._pc.getRemoteStreams()
|
|
415
|
+
.find((s) => s.id === streamId);
|
|
416
|
+
const track = stream.getTrackById(localId);
|
|
417
|
+
if (!track)
|
|
418
|
+
throw new Error('remote track not found');
|
|
419
|
+
// Insert into the map.
|
|
420
|
+
this._mapRecvLocalIdInfo.set(localId, { mid, rtpParameters });
|
|
421
|
+
results.push({ localId, track });
|
|
422
|
+
}
|
|
423
|
+
return results;
|
|
410
424
|
}
|
|
411
425
|
async stopReceiving(localId) {
|
|
412
426
|
this._assertRecvDirection();
|
|
@@ -36,7 +36,7 @@ export declare class Chrome67 extends HandlerInterface {
|
|
|
36
36
|
setRtpEncodingParameters(localId: string, params: any): Promise<void>;
|
|
37
37
|
getSenderStats(localId: string): Promise<RTCStatsReport>;
|
|
38
38
|
sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
|
|
39
|
-
receive(
|
|
39
|
+
receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
|
|
40
40
|
stopReceiving(localId: string): Promise<void>;
|
|
41
41
|
pauseReceiving(localId: string): Promise<void>;
|
|
42
42
|
resumeReceiving(localId: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chrome67.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome67.ts"],"names":[],"mappings":"AAMA,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,QAAS,SAAQ,gBAAgB;IAG7C,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,wBAAwB,CAC9B;IAEX,OAAO,CAAC,gBAAgB,CAAK;IAG7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAQrB;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;IAYP,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;IAsED,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDvD,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAK5C,IAAI,CACT,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAC3D,OAAO,CAAC,iBAAiB,CAAC;IAoIvB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwD3C,YAAY,CACjB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7C,OAAO,CAAC,IAAI,CAAC;IAgCV,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BxE,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBrE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAYxD,eAAe,CACpB,EACC,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,QAAQ,EACR,EAAE,6BAA6B,GAC9B,OAAO,CAAC,4BAA4B,CAAC;IAuElC,OAAO,
|
|
1
|
+
{"version":3,"file":"Chrome67.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome67.ts"],"names":[],"mappings":"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"}
|
package/lib/handlers/Chrome67.js
CHANGED
|
@@ -404,32 +404,41 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
|
|
|
404
404
|
};
|
|
405
405
|
return { dataChannel, sctpStreamParameters };
|
|
406
406
|
}
|
|
407
|
-
async receive(
|
|
407
|
+
async receive(
|
|
408
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
409
|
+
optionsList) {
|
|
408
410
|
var _a;
|
|
409
411
|
this._assertRecvDirection();
|
|
410
|
-
|
|
411
|
-
const
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
mid
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
412
|
+
const results = [];
|
|
413
|
+
for (const options of optionsList) {
|
|
414
|
+
const { trackId, kind, rtpParameters } = options;
|
|
415
|
+
logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
|
|
416
|
+
const mid = kind;
|
|
417
|
+
this._remoteSdp.receive({
|
|
418
|
+
mid,
|
|
419
|
+
kind,
|
|
420
|
+
offerRtpParameters: rtpParameters,
|
|
421
|
+
streamId: rtpParameters.rtcp.cname,
|
|
422
|
+
trackId
|
|
423
|
+
});
|
|
424
|
+
}
|
|
420
425
|
const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
|
|
421
426
|
logger.debug('receive() | calling pc.setRemoteDescription() [offer:%o]', offer);
|
|
422
427
|
await this._pc.setRemoteDescription(offer);
|
|
423
428
|
let answer = await this._pc.createAnswer();
|
|
424
429
|
const localSdpObject = sdpTransform.parse(answer.sdp);
|
|
425
|
-
const
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
430
|
+
for (const options of optionsList) {
|
|
431
|
+
const { kind, rtpParameters } = options;
|
|
432
|
+
const mid = kind;
|
|
433
|
+
const answerMediaObject = localSdpObject.media
|
|
434
|
+
.find((m) => String(m.mid) === mid);
|
|
435
|
+
// May need to modify codec parameters in the answer based on codec
|
|
436
|
+
// parameters in the offer.
|
|
437
|
+
sdpCommonUtils.applyCodecParameters({
|
|
438
|
+
offerRtpParameters: rtpParameters,
|
|
439
|
+
answerMediaObject
|
|
440
|
+
});
|
|
441
|
+
}
|
|
433
442
|
answer = { type: 'answer', sdp: sdpTransform.write(localSdpObject) };
|
|
434
443
|
if (!this._transportReady) {
|
|
435
444
|
await this._setupTransport({
|
|
@@ -439,17 +448,23 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
|
|
|
439
448
|
}
|
|
440
449
|
logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer);
|
|
441
450
|
await this._pc.setLocalDescription(answer);
|
|
442
|
-
const
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
rtpReceiver
|
|
452
|
-
|
|
451
|
+
for (const options of optionsList) {
|
|
452
|
+
const { kind, trackId, rtpParameters } = options;
|
|
453
|
+
const localId = trackId;
|
|
454
|
+
const mid = kind;
|
|
455
|
+
const rtpReceiver = this._pc.getReceivers()
|
|
456
|
+
.find((r) => r.track && r.track.id === localId);
|
|
457
|
+
if (!rtpReceiver)
|
|
458
|
+
throw new Error('new RTCRtpReceiver not');
|
|
459
|
+
// Insert into the map.
|
|
460
|
+
this._mapRecvLocalIdInfo.set(localId, { mid, rtpParameters, rtpReceiver });
|
|
461
|
+
results.push({
|
|
462
|
+
localId,
|
|
463
|
+
track: rtpReceiver.track,
|
|
464
|
+
rtpReceiver
|
|
465
|
+
});
|
|
466
|
+
}
|
|
467
|
+
return results;
|
|
453
468
|
}
|
|
454
469
|
async stopReceiving(localId) {
|
|
455
470
|
this._assertRecvDirection();
|
|
@@ -34,7 +34,7 @@ export declare class Chrome70 extends HandlerInterface {
|
|
|
34
34
|
setRtpEncodingParameters(localId: string, params: any): Promise<void>;
|
|
35
35
|
getSenderStats(localId: string): Promise<RTCStatsReport>;
|
|
36
36
|
sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
|
|
37
|
-
receive(
|
|
37
|
+
receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
|
|
38
38
|
stopReceiving(localId: string): Promise<void>;
|
|
39
39
|
pauseReceiving(localId: string): Promise<void>;
|
|
40
40
|
resumeReceiving(localId: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chrome70.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome70.ts"],"names":[],"mappings":"AAMA,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,QAAS,SAAQ,gBAAgB;IAG7C,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;IAYP,wBAAwB,IAAI,OAAO,CAAC,eAAe,CAAC;IAsCpD,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;IAqED,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDvD,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAK5C,IAAI,CACT,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAC3D,OAAO,CAAC,iBAAiB,CAAC;IAwLvB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC3C,YAAY,CACjB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7C,OAAO,CAAC,IAAI,CAAC;IAsBV,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BxE,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBrE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAYxD,eAAe,CACpB,EACC,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,QAAQ,EACR,EAAE,6BAA6B,GAC9B,OAAO,CAAC,4BAA4B,CAAC;IAuElC,OAAO,CACZ,
|
|
1
|
+
{"version":3,"file":"Chrome70.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome70.ts"],"names":[],"mappings":"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"}
|
package/lib/handlers/Chrome70.js
CHANGED
|
@@ -411,31 +411,39 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
411
411
|
};
|
|
412
412
|
return { dataChannel, sctpStreamParameters };
|
|
413
413
|
}
|
|
414
|
-
async receive(
|
|
414
|
+
async receive(optionsList) {
|
|
415
415
|
var _a;
|
|
416
416
|
this._assertRecvDirection();
|
|
417
|
-
|
|
418
|
-
const
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
417
|
+
const results = [];
|
|
418
|
+
for (const options of optionsList) {
|
|
419
|
+
const { trackId, kind, rtpParameters } = options;
|
|
420
|
+
logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
|
|
421
|
+
const localId = rtpParameters.mid || String(this._mapMidTransceiver.size);
|
|
422
|
+
this._remoteSdp.receive({
|
|
423
|
+
mid: localId,
|
|
424
|
+
kind,
|
|
425
|
+
offerRtpParameters: rtpParameters,
|
|
426
|
+
streamId: rtpParameters.rtcp.cname,
|
|
427
|
+
trackId
|
|
428
|
+
});
|
|
429
|
+
}
|
|
426
430
|
const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
|
|
427
431
|
logger.debug('receive() | calling pc.setRemoteDescription() [offer:%o]', offer);
|
|
428
432
|
await this._pc.setRemoteDescription(offer);
|
|
429
433
|
let answer = await this._pc.createAnswer();
|
|
430
434
|
const localSdpObject = sdpTransform.parse(answer.sdp);
|
|
431
|
-
const
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
435
|
+
for (const options of optionsList) {
|
|
436
|
+
const { rtpParameters } = options;
|
|
437
|
+
const localId = rtpParameters.mid || String(this._mapMidTransceiver.size);
|
|
438
|
+
const answerMediaObject = localSdpObject.media
|
|
439
|
+
.find((m) => String(m.mid) === localId);
|
|
440
|
+
// May need to modify codec parameters in the answer based on codec
|
|
441
|
+
// parameters in the offer.
|
|
442
|
+
sdpCommonUtils.applyCodecParameters({
|
|
443
|
+
offerRtpParameters: rtpParameters,
|
|
444
|
+
answerMediaObject
|
|
445
|
+
});
|
|
446
|
+
}
|
|
439
447
|
answer = { type: 'answer', sdp: sdpTransform.write(localSdpObject) };
|
|
440
448
|
if (!this._transportReady) {
|
|
441
449
|
await this._setupTransport({
|
|
@@ -445,17 +453,22 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
445
453
|
}
|
|
446
454
|
logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer);
|
|
447
455
|
await this._pc.setLocalDescription(answer);
|
|
448
|
-
const
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
456
|
+
for (const options of optionsList) {
|
|
457
|
+
const { rtpParameters } = options;
|
|
458
|
+
const localId = rtpParameters.mid || String(this._mapMidTransceiver.size);
|
|
459
|
+
const transceiver = this._pc.getTransceivers()
|
|
460
|
+
.find((t) => t.mid === localId);
|
|
461
|
+
if (!transceiver)
|
|
462
|
+
throw new Error('new RTCRtpTransceiver not found');
|
|
463
|
+
// Store in the map.
|
|
464
|
+
this._mapMidTransceiver.set(localId, transceiver);
|
|
465
|
+
results.push({
|
|
466
|
+
localId,
|
|
467
|
+
track: transceiver.receiver.track,
|
|
468
|
+
rtpReceiver: transceiver.receiver
|
|
469
|
+
});
|
|
470
|
+
}
|
|
471
|
+
return results;
|
|
459
472
|
}
|
|
460
473
|
async stopReceiving(localId) {
|
|
461
474
|
this._assertRecvDirection();
|
|
@@ -34,7 +34,7 @@ export declare class Chrome74 extends HandlerInterface {
|
|
|
34
34
|
setRtpEncodingParameters(localId: string, params: any): Promise<void>;
|
|
35
35
|
getSenderStats(localId: string): Promise<RTCStatsReport>;
|
|
36
36
|
sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
|
|
37
|
-
receive(
|
|
37
|
+
receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
|
|
38
38
|
stopReceiving(localId: string): Promise<void>;
|
|
39
39
|
pauseReceiving(localId: string): Promise<void>;
|
|
40
40
|
resumeReceiving(localId: string): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chrome74.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome74.ts"],"names":[],"mappings":"AAMA,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,EACN,eAAe,EAGf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAM3E,qBAAa,QAAS,SAAQ,gBAAgB;IAG7C,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;IAYP,wBAAwB,IAAI,OAAO,CAAC,eAAe,CAAC;IAsCpD,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;IAqED,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDvD,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAK5C,IAAI,CACT,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAC3D,OAAO,CAAC,iBAAiB,CAAC;IAuKvB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC3C,YAAY,CACjB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7C,OAAO,CAAC,IAAI,CAAC;IAsBV,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BxE,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBrE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAYxD,eAAe,CACpB,EACC,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,QAAQ,EACR,EAAE,6BAA6B,GAC9B,OAAO,CAAC,4BAA4B,CAAC;IAsElC,OAAO,CACZ,
|
|
1
|
+
{"version":3,"file":"Chrome74.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome74.ts"],"names":[],"mappings":"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"}
|