mediasoup-client 3.6.48 → 3.6.51
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/.vimrc +21 -0
- package/NO_GIT/Notes.txt +18 -0
- package/lib/Consumer.d.ts +2 -2
- package/lib/Consumer.d.ts.map +1 -1
- package/lib/Producer.d.ts +2 -2
- package/lib/Producer.d.ts.map +1 -1
- package/lib/Transport.d.ts +6 -0
- package/lib/Transport.d.ts.map +1 -1
- package/lib/Transport.js +64 -4
- package/lib/handlers/Chrome55.d.ts +2 -2
- package/lib/handlers/Chrome55.d.ts.map +1 -1
- package/lib/handlers/Chrome55.js +2 -2
- package/lib/handlers/Chrome67.d.ts +2 -2
- package/lib/handlers/Chrome67.d.ts.map +1 -1
- package/lib/handlers/Chrome67.js +2 -2
- package/lib/handlers/Chrome70.d.ts +2 -2
- package/lib/handlers/Chrome70.d.ts.map +1 -1
- package/lib/handlers/Chrome70.js +8 -6
- package/lib/handlers/Chrome74.d.ts +2 -2
- package/lib/handlers/Chrome74.d.ts.map +1 -1
- package/lib/handlers/Chrome74.js +22 -16
- package/lib/handlers/Edge11.d.ts +2 -2
- package/lib/handlers/Edge11.d.ts.map +1 -1
- package/lib/handlers/Edge11.js +2 -2
- package/lib/handlers/FakeHandler.d.ts +2 -2
- package/lib/handlers/FakeHandler.d.ts.map +1 -1
- package/lib/handlers/FakeHandler.js +2 -2
- package/lib/handlers/Firefox60.d.ts +2 -2
- package/lib/handlers/Firefox60.d.ts.map +1 -1
- package/lib/handlers/Firefox60.js +22 -16
- package/lib/handlers/HandlerInterface.d.ts +2 -2
- package/lib/handlers/HandlerInterface.d.ts.map +1 -1
- package/lib/handlers/ReactNative.d.ts +2 -2
- package/lib/handlers/ReactNative.d.ts.map +1 -1
- package/lib/handlers/ReactNative.js +5 -3
- package/lib/handlers/Safari11.d.ts +2 -2
- package/lib/handlers/Safari11.d.ts.map +1 -1
- package/lib/handlers/Safari11.js +2 -2
- package/lib/handlers/Safari12.d.ts +2 -2
- package/lib/handlers/Safari12.d.ts.map +1 -1
- package/lib/handlers/Safari12.js +22 -16
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/package.json +1 -1
- package/src/Consumer.ts +3 -3
- package/src/Producer.ts +1 -1
- package/src/Transport.ts +98 -8
- package/src/handlers/Chrome55.ts +3 -3
- package/src/handlers/Chrome67.ts +2 -2
- package/src/handlers/Chrome70.ts +9 -6
- package/src/handlers/Chrome74.ts +27 -18
- package/src/handlers/Edge11.ts +2 -2
- package/src/handlers/FakeHandler.ts +2 -2
- package/src/handlers/Firefox60.ts +27 -18
- package/src/handlers/HandlerInterface.ts +2 -2
- package/src/handlers/ReactNative.ts +6 -3
- package/src/handlers/Safari11.ts +2 -2
- package/src/handlers/Safari12.ts +27 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Firefox60.d.ts","sourceRoot":"","sources":["../../src/handlers/Firefox60.ts"],"names":[],"mappings":"AAOA,OAAO,EACN,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,EAChC,+BAA+B,EAC/B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAY,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,eAAe,EAAiB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAM3E,qBAAa,SAAU,SAAQ,gBAAgB;IAG9C,OAAO,CAAC,UAAU,CAAC,CAAkB;IAErC,OAAO,CAAC,UAAU,CAAC,CAAY;IAE/B,OAAO,CAAC,2BAA2B,CAAC,CAAmC;IAGvE,OAAO,CAAC,iCAAiC,CAAC,CAAmC;IAE7E,OAAO,CAAC,GAAG,CAAM;IAEjB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CACxB;IAEX,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD,OAAO,CAAC,2BAA2B,CAAS;IAE5C,OAAO,CAAC,qBAAqB,CAAK;IAElC,OAAO,CAAC,eAAe,CAAS;IAEhC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,cAAc;;IAUtC,IAAI,IAAI,IAAI,MAAM,CAGjB;IAED,KAAK,IAAI,IAAI;IAYP,wBAAwB,IAAI,OAAO,CAAC,eAAe,CAAC;IAqEpD,yBAAyB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAS5D,GAAG,CACF,EACC,SAAS,EACT,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,EAAE,iBAAiB,GAClB,IAAI;IA8DD,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDvD,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAK5C,IAAI,CACT,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAC3D,OAAO,CAAC,iBAAiB,CAAC;IAsJvB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC3C,YAAY,CACjB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC7C,OAAO,CAAC,IAAI,CAAC;IAsBV,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BxE,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBrE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAYxD,eAAe,CACpB,EACC,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,QAAQ,EACR,EAAE,6BAA6B,GAC9B,OAAO,CAAC,4BAA4B,CAAC;IAgElC,OAAO,CAEZ,WAAW,EAAE,qBAAqB,EAAE,GACjC,OAAO,CAAC,oBAAoB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Firefox60.d.ts","sourceRoot":"","sources":["../../src/handlers/Firefox60.ts"],"names":[],"mappings":"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"}
|
|
@@ -416,10 +416,12 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
416
416
|
optionsList) {
|
|
417
417
|
this._assertRecvDirection();
|
|
418
418
|
const results = [];
|
|
419
|
+
const mapLocalId = new Map();
|
|
419
420
|
for (const options of optionsList) {
|
|
420
421
|
const { trackId, kind, rtpParameters } = options;
|
|
421
422
|
logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
|
|
422
423
|
const localId = rtpParameters.mid || String(this._mapMidTransceiver.size);
|
|
424
|
+
mapLocalId.set(trackId, localId);
|
|
423
425
|
this._remoteSdp.receive({
|
|
424
426
|
mid: localId,
|
|
425
427
|
kind,
|
|
@@ -434,8 +436,8 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
434
436
|
let answer = await this._pc.createAnswer();
|
|
435
437
|
const localSdpObject = sdpTransform.parse(answer.sdp);
|
|
436
438
|
for (const options of optionsList) {
|
|
437
|
-
const { rtpParameters } = options;
|
|
438
|
-
const localId =
|
|
439
|
+
const { trackId, rtpParameters } = options;
|
|
440
|
+
const localId = mapLocalId.get(trackId);
|
|
439
441
|
const answerMediaObject = localSdpObject.media
|
|
440
442
|
.find((m) => String(m.mid) === localId);
|
|
441
443
|
// May need to modify codec parameters in the answer based on codec
|
|
@@ -451,8 +453,8 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
451
453
|
logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer);
|
|
452
454
|
await this._pc.setLocalDescription(answer);
|
|
453
455
|
for (const options of optionsList) {
|
|
454
|
-
const {
|
|
455
|
-
const localId =
|
|
456
|
+
const { trackId } = options;
|
|
457
|
+
const localId = mapLocalId.get(trackId);
|
|
456
458
|
const transceiver = this._pc.getTransceivers()
|
|
457
459
|
.find((t) => t.mid === localId);
|
|
458
460
|
if (!transceiver)
|
|
@@ -482,13 +484,15 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
482
484
|
await this._pc.setLocalDescription(answer);
|
|
483
485
|
this._mapMidTransceiver.delete(localId);
|
|
484
486
|
}
|
|
485
|
-
async pauseReceiving(
|
|
487
|
+
async pauseReceiving(localIds) {
|
|
486
488
|
this._assertRecvDirection();
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
489
|
+
for (const localId of localIds) {
|
|
490
|
+
logger.debug('pauseReceiving() [localId:%s]', localId);
|
|
491
|
+
const transceiver = this._mapMidTransceiver.get(localId);
|
|
492
|
+
if (!transceiver)
|
|
493
|
+
throw new Error('associated RTCRtpTransceiver not found');
|
|
494
|
+
transceiver.direction = 'inactive';
|
|
495
|
+
}
|
|
492
496
|
const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
|
|
493
497
|
logger.debug('pauseReceiving() | calling pc.setRemoteDescription() [offer:%o]', offer);
|
|
494
498
|
await this._pc.setRemoteDescription(offer);
|
|
@@ -496,13 +500,15 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
496
500
|
logger.debug('pauseReceiving() | calling pc.setLocalDescription() [answer:%o]', answer);
|
|
497
501
|
await this._pc.setLocalDescription(answer);
|
|
498
502
|
}
|
|
499
|
-
async resumeReceiving(
|
|
503
|
+
async resumeReceiving(localIds) {
|
|
500
504
|
this._assertRecvDirection();
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
505
|
+
for (const localId of localIds) {
|
|
506
|
+
logger.debug('resumeReceiving() [localId:%s]', localId);
|
|
507
|
+
const transceiver = this._mapMidTransceiver.get(localId);
|
|
508
|
+
if (!transceiver)
|
|
509
|
+
throw new Error('associated RTCRtpTransceiver not found');
|
|
510
|
+
transceiver.direction = 'recvonly';
|
|
511
|
+
}
|
|
506
512
|
const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
|
|
507
513
|
logger.debug('resumeReceiving() | calling pc.setRemoteDescription() [offer:%o]', offer);
|
|
508
514
|
await this._pc.setRemoteDescription(offer);
|
|
@@ -77,8 +77,8 @@ export declare abstract class HandlerInterface extends EnhancedEventEmitter {
|
|
|
77
77
|
abstract sendDataChannel(options: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
|
|
78
78
|
abstract receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
|
|
79
79
|
abstract stopReceiving(localId: string): Promise<void>;
|
|
80
|
-
abstract pauseReceiving(
|
|
81
|
-
abstract resumeReceiving(
|
|
80
|
+
abstract pauseReceiving(localIds: string[]): Promise<void>;
|
|
81
|
+
abstract resumeReceiving(localIds: string[]): Promise<void>;
|
|
82
82
|
abstract getReceiverStats(localId: string): Promise<RTCStatsReport>;
|
|
83
83
|
abstract receiveDataChannel(options: HandlerReceiveDataChannelOptions): Promise<HandlerReceiveDataChannelResult>;
|
|
84
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HandlerInterface.d.ts","sourceRoot":"","sources":["../../src/handlers/HandlerInterface.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"HandlerInterface.d.ts","sourceRoot":"","sources":["../../src/handlers/HandlerInterface.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,8 +38,8 @@ export declare class ReactNative extends HandlerInterface {
|
|
|
38
38
|
sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
|
|
39
39
|
receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
|
|
40
40
|
stopReceiving(localId: string): Promise<void>;
|
|
41
|
-
pauseReceiving(
|
|
42
|
-
resumeReceiving(
|
|
41
|
+
pauseReceiving(localIds: string[]): Promise<void>;
|
|
42
|
+
resumeReceiving(localIds: string[]): Promise<void>;
|
|
43
43
|
getReceiverStats(localId: string): Promise<RTCStatsReport>;
|
|
44
44
|
receiveDataChannel({ sctpStreamParameters, label, protocol }: HandlerReceiveDataChannelOptions): Promise<HandlerReceiveDataChannelResult>;
|
|
45
45
|
private _setupTransport;
|
|
@@ -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;IAiBP,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;IAmIvB,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,WAAW,EAAE,qBAAqB,EAAE,GACjC,OAAO,CAAC,oBAAoB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ReactNative.d.ts","sourceRoot":"","sources":["../../src/handlers/ReactNative.ts"],"names":[],"mappings":"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"}
|
|
@@ -373,6 +373,7 @@ class ReactNative extends HandlerInterface_1.HandlerInterface {
|
|
|
373
373
|
var _a;
|
|
374
374
|
this._assertRecvDirection();
|
|
375
375
|
const results = [];
|
|
376
|
+
const mapStreamId = new Map();
|
|
376
377
|
for (const options of optionsList) {
|
|
377
378
|
const { trackId, kind, rtpParameters } = options;
|
|
378
379
|
logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
|
|
@@ -384,6 +385,7 @@ class ReactNative extends HandlerInterface_1.HandlerInterface {
|
|
|
384
385
|
// to be different.
|
|
385
386
|
logger.debug('receive() | forcing a random remote streamId to avoid well known bug in react-native-webrtc');
|
|
386
387
|
streamId += `-hack-${utils.generateRandomNumber()}`;
|
|
388
|
+
mapStreamId.set(trackId, streamId);
|
|
387
389
|
this._remoteSdp.receive({
|
|
388
390
|
mid,
|
|
389
391
|
kind,
|
|
@@ -422,7 +424,7 @@ class ReactNative extends HandlerInterface_1.HandlerInterface {
|
|
|
422
424
|
const { kind, trackId, rtpParameters } = options;
|
|
423
425
|
const localId = trackId;
|
|
424
426
|
const mid = kind;
|
|
425
|
-
const streamId =
|
|
427
|
+
const streamId = mapStreamId.get(trackId);
|
|
426
428
|
const stream = this._pc.getRemoteStreams()
|
|
427
429
|
.find((s) => s.id === streamId);
|
|
428
430
|
const track = stream.getTrackById(localId);
|
|
@@ -450,12 +452,12 @@ class ReactNative extends HandlerInterface_1.HandlerInterface {
|
|
|
450
452
|
}
|
|
451
453
|
async pauseReceiving(
|
|
452
454
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
453
|
-
|
|
455
|
+
localIds) {
|
|
454
456
|
// Unimplemented.
|
|
455
457
|
}
|
|
456
458
|
async resumeReceiving(
|
|
457
459
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
458
|
-
|
|
460
|
+
localIds) {
|
|
459
461
|
// Unimplemented.
|
|
460
462
|
}
|
|
461
463
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -39,8 +39,8 @@ export declare class Safari11 extends HandlerInterface {
|
|
|
39
39
|
receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
|
|
40
40
|
stopReceiving(localId: string): Promise<void>;
|
|
41
41
|
getReceiverStats(localId: string): Promise<RTCStatsReport>;
|
|
42
|
-
pauseReceiving(
|
|
43
|
-
resumeReceiving(
|
|
42
|
+
pauseReceiving(localIds: string[]): Promise<void>;
|
|
43
|
+
resumeReceiving(localIds: string[]): Promise<void>;
|
|
44
44
|
receiveDataChannel({ sctpStreamParameters, label, protocol }: HandlerReceiveDataChannelOptions): Promise<HandlerReceiveDataChannelResult>;
|
|
45
45
|
private _setupTransport;
|
|
46
46
|
private _assertSendDirection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Safari11.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari11.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Safari11.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari11.ts"],"names":[],"mappings":"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"}
|
package/lib/handlers/Safari11.js
CHANGED
|
@@ -482,12 +482,12 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
482
482
|
}
|
|
483
483
|
async pauseReceiving(
|
|
484
484
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
485
|
-
|
|
485
|
+
localIds) {
|
|
486
486
|
// Unimplemented.
|
|
487
487
|
}
|
|
488
488
|
async resumeReceiving(
|
|
489
489
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
490
|
-
|
|
490
|
+
localIds) {
|
|
491
491
|
// Unimplemented.
|
|
492
492
|
}
|
|
493
493
|
async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
|
|
@@ -36,8 +36,8 @@ export declare class Safari12 extends HandlerInterface {
|
|
|
36
36
|
sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
|
|
37
37
|
receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
|
|
38
38
|
stopReceiving(localId: string): Promise<void>;
|
|
39
|
-
pauseReceiving(
|
|
40
|
-
resumeReceiving(
|
|
39
|
+
pauseReceiving(localIds: string[]): Promise<void>;
|
|
40
|
+
resumeReceiving(localIds: string[]): Promise<void>;
|
|
41
41
|
getReceiverStats(localId: string): Promise<RTCStatsReport>;
|
|
42
42
|
receiveDataChannel({ sctpStreamParameters, label, protocol }: HandlerReceiveDataChannelOptions): Promise<HandlerReceiveDataChannelResult>;
|
|
43
43
|
private _setupTransport;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Safari12.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari12.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,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;IAqCpD,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;IAoED,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;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,WAAW,EAAE,qBAAqB,EAAE,GACjC,OAAO,CAAC,oBAAoB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"Safari12.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari12.ts"],"names":[],"mappings":"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"}
|
package/lib/handlers/Safari12.js
CHANGED
|
@@ -376,10 +376,12 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
|
|
|
376
376
|
var _a;
|
|
377
377
|
this._assertRecvDirection();
|
|
378
378
|
const results = [];
|
|
379
|
+
const mapLocalId = new Map();
|
|
379
380
|
for (const options of optionsList) {
|
|
380
381
|
const { trackId, kind, rtpParameters } = options;
|
|
381
382
|
logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
|
|
382
383
|
const localId = rtpParameters.mid || String(this._mapMidTransceiver.size);
|
|
384
|
+
mapLocalId.set(trackId, localId);
|
|
383
385
|
this._remoteSdp.receive({
|
|
384
386
|
mid: localId,
|
|
385
387
|
kind,
|
|
@@ -394,8 +396,8 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
|
|
|
394
396
|
let answer = await this._pc.createAnswer();
|
|
395
397
|
const localSdpObject = sdpTransform.parse(answer.sdp);
|
|
396
398
|
for (const options of optionsList) {
|
|
397
|
-
const { rtpParameters } = options;
|
|
398
|
-
const localId =
|
|
399
|
+
const { trackId, rtpParameters } = options;
|
|
400
|
+
const localId = mapLocalId.get(trackId);
|
|
399
401
|
const answerMediaObject = localSdpObject.media
|
|
400
402
|
.find((m) => String(m.mid) === localId);
|
|
401
403
|
// May need to modify codec parameters in the answer based on codec
|
|
@@ -415,8 +417,8 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
|
|
|
415
417
|
logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer);
|
|
416
418
|
await this._pc.setLocalDescription(answer);
|
|
417
419
|
for (const options of optionsList) {
|
|
418
|
-
const {
|
|
419
|
-
const localId =
|
|
420
|
+
const { trackId } = options;
|
|
421
|
+
const localId = mapLocalId.get(trackId);
|
|
420
422
|
const transceiver = this._pc.getTransceivers()
|
|
421
423
|
.find((t) => t.mid === localId);
|
|
422
424
|
if (!transceiver)
|
|
@@ -446,13 +448,15 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
|
|
|
446
448
|
await this._pc.setLocalDescription(answer);
|
|
447
449
|
this._mapMidTransceiver.delete(localId);
|
|
448
450
|
}
|
|
449
|
-
async pauseReceiving(
|
|
451
|
+
async pauseReceiving(localIds) {
|
|
450
452
|
this._assertRecvDirection();
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
453
|
+
for (const localId of localIds) {
|
|
454
|
+
logger.debug('pauseReceiving() [localId:%s]', localId);
|
|
455
|
+
const transceiver = this._mapMidTransceiver.get(localId);
|
|
456
|
+
if (!transceiver)
|
|
457
|
+
throw new Error('associated RTCRtpTransceiver not found');
|
|
458
|
+
transceiver.direction = 'inactive';
|
|
459
|
+
}
|
|
456
460
|
const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
|
|
457
461
|
logger.debug('pauseReceiving() | calling pc.setRemoteDescription() [offer:%o]', offer);
|
|
458
462
|
await this._pc.setRemoteDescription(offer);
|
|
@@ -460,13 +464,15 @@ class Safari12 extends HandlerInterface_1.HandlerInterface {
|
|
|
460
464
|
logger.debug('pauseReceiving() | calling pc.setLocalDescription() [answer:%o]', answer);
|
|
461
465
|
await this._pc.setLocalDescription(answer);
|
|
462
466
|
}
|
|
463
|
-
async resumeReceiving(
|
|
467
|
+
async resumeReceiving(localIds) {
|
|
464
468
|
this._assertRecvDirection();
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
469
|
+
for (const localId of localIds) {
|
|
470
|
+
logger.debug('resumeReceiving() [localId:%s]', localId);
|
|
471
|
+
const transceiver = this._mapMidTransceiver.get(localId);
|
|
472
|
+
if (!transceiver)
|
|
473
|
+
throw new Error('associated RTCRtpTransceiver not found');
|
|
474
|
+
transceiver.direction = 'recvonly';
|
|
475
|
+
}
|
|
470
476
|
const offer = { type: 'offer', sdp: this._remoteSdp.getSdp() };
|
|
471
477
|
logger.debug('resumeReceiving() | calling pc.setRemoteDescription() [offer:%o]', offer);
|
|
472
478
|
await this._pc.setRemoteDescription(offer);
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
package/package.json
CHANGED
package/src/Consumer.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Logger } from './Logger';
|
|
2
2
|
import { EnhancedEventEmitter } from './EnhancedEventEmitter';
|
|
3
3
|
import { InvalidStateError } from './errors';
|
|
4
|
-
import { RtpParameters } from './RtpParameters';
|
|
4
|
+
import { MediaKind, RtpParameters } from './RtpParameters';
|
|
5
5
|
|
|
6
6
|
export type ConsumerOptions =
|
|
7
7
|
{
|
|
@@ -118,9 +118,9 @@ export class Consumer extends EnhancedEventEmitter
|
|
|
118
118
|
/**
|
|
119
119
|
* Media kind.
|
|
120
120
|
*/
|
|
121
|
-
get kind():
|
|
121
|
+
get kind(): MediaKind
|
|
122
122
|
{
|
|
123
|
-
return this._track.kind;
|
|
123
|
+
return this._track.kind as MediaKind;
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
/**
|
package/src/Producer.ts
CHANGED
package/src/Transport.ts
CHANGED
|
@@ -187,6 +187,14 @@ export class Transport extends EnhancedEventEmitter
|
|
|
187
187
|
private _pendingConsumerTasks: ConsumerCreationTask[] = [];
|
|
188
188
|
// Consumer creation in progress flag.
|
|
189
189
|
private _consumerCreationInProgress = false;
|
|
190
|
+
// Consumers pending to be paused.
|
|
191
|
+
private _pendingPauseConsumers: Map<string, Consumer> = new Map();
|
|
192
|
+
// Consumer pause in progress flag.
|
|
193
|
+
private _consumerPauseInProgress = false;
|
|
194
|
+
// Consumers pending to be resumed.
|
|
195
|
+
private _pendingResumeConsumers: Map<string, Consumer> = new Map();
|
|
196
|
+
// Consumer resume in progress flag.
|
|
197
|
+
private _consumerResumeInProgress = false;
|
|
190
198
|
// Observer instance.
|
|
191
199
|
protected readonly _observer = new EnhancedEventEmitter();
|
|
192
200
|
|
|
@@ -892,6 +900,66 @@ export class Transport extends EnhancedEventEmitter
|
|
|
892
900
|
.catch(() => {});
|
|
893
901
|
}
|
|
894
902
|
|
|
903
|
+
_pausePendingConsumers()
|
|
904
|
+
{
|
|
905
|
+
this._awaitQueue.push(
|
|
906
|
+
async () =>
|
|
907
|
+
{
|
|
908
|
+
this._consumerPauseInProgress = true;
|
|
909
|
+
|
|
910
|
+
const pendingPauseConsumers = Array.from(this._pendingPauseConsumers.values());
|
|
911
|
+
|
|
912
|
+
// Clear pending pause Consumer map.
|
|
913
|
+
this._pendingPauseConsumers.clear();
|
|
914
|
+
|
|
915
|
+
await this._handler.pauseReceiving(
|
|
916
|
+
pendingPauseConsumers.map((consumer) => consumer.localId)
|
|
917
|
+
);
|
|
918
|
+
},
|
|
919
|
+
'consumer @pause event')
|
|
920
|
+
.catch(() => { })
|
|
921
|
+
.finally(() =>
|
|
922
|
+
{
|
|
923
|
+
this._consumerPauseInProgress = false;
|
|
924
|
+
|
|
925
|
+
// There are pending Consumers to be paused, do it.
|
|
926
|
+
if (this._pendingPauseConsumers.size > 0)
|
|
927
|
+
{
|
|
928
|
+
this._pausePendingConsumers();
|
|
929
|
+
}
|
|
930
|
+
});
|
|
931
|
+
}
|
|
932
|
+
|
|
933
|
+
_resumePendingConsumers()
|
|
934
|
+
{
|
|
935
|
+
this._awaitQueue.push(
|
|
936
|
+
async () =>
|
|
937
|
+
{
|
|
938
|
+
this._consumerResumeInProgress = true;
|
|
939
|
+
|
|
940
|
+
const pendingResumeConsumers = Array.from(this._pendingResumeConsumers.values());
|
|
941
|
+
|
|
942
|
+
// Clear pending resume Consumer map.
|
|
943
|
+
this._pendingResumeConsumers.clear();
|
|
944
|
+
|
|
945
|
+
await this._handler.resumeReceiving(
|
|
946
|
+
pendingResumeConsumers.map((consumer) => consumer.localId)
|
|
947
|
+
);
|
|
948
|
+
},
|
|
949
|
+
'consumer @resume event')
|
|
950
|
+
.catch(() => { })
|
|
951
|
+
.finally(() =>
|
|
952
|
+
{
|
|
953
|
+
this._consumerResumeInProgress = false;
|
|
954
|
+
|
|
955
|
+
// There are pending Consumer to be resumed, do it.
|
|
956
|
+
if (this._pendingResumeConsumers.size > 0)
|
|
957
|
+
{
|
|
958
|
+
this._resumePendingConsumers();
|
|
959
|
+
}
|
|
960
|
+
});
|
|
961
|
+
}
|
|
962
|
+
|
|
895
963
|
_handleHandler(): void
|
|
896
964
|
{
|
|
897
965
|
const handler = this._handler;
|
|
@@ -986,6 +1054,8 @@ export class Transport extends EnhancedEventEmitter
|
|
|
986
1054
|
consumer.on('@close', () =>
|
|
987
1055
|
{
|
|
988
1056
|
this._consumers.delete(consumer.id);
|
|
1057
|
+
this._pendingPauseConsumers.delete(consumer.id);
|
|
1058
|
+
this._pendingResumeConsumers.delete(consumer.id);
|
|
989
1059
|
|
|
990
1060
|
if (this._closed)
|
|
991
1061
|
return;
|
|
@@ -998,18 +1068,38 @@ export class Transport extends EnhancedEventEmitter
|
|
|
998
1068
|
|
|
999
1069
|
consumer.on('@pause', () =>
|
|
1000
1070
|
{
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
.
|
|
1071
|
+
// If Consumer is pending to be resumed, remove from pending resume list.
|
|
1072
|
+
if (this._pendingResumeConsumers.has(consumer.id))
|
|
1073
|
+
{
|
|
1074
|
+
this._pendingResumeConsumers.delete(consumer.id);
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
// Store the Consumer into the pending list.
|
|
1078
|
+
this._pendingPauseConsumers.set(consumer.id, consumer);
|
|
1079
|
+
|
|
1080
|
+
// There is no Consumer pause in progress, do it now.
|
|
1081
|
+
if (this._consumerPauseInProgress === false)
|
|
1082
|
+
{
|
|
1083
|
+
this._pausePendingConsumers();
|
|
1084
|
+
}
|
|
1005
1085
|
});
|
|
1006
1086
|
|
|
1007
1087
|
consumer.on('@resume', () =>
|
|
1008
1088
|
{
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
.
|
|
1089
|
+
// If Consumer is pending to be paused, remove from pending pause list.
|
|
1090
|
+
if (this._pendingPauseConsumers.has(consumer.id))
|
|
1091
|
+
{
|
|
1092
|
+
this._pendingPauseConsumers.delete(consumer.id);
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
// Store the Consumer into the pending list.
|
|
1096
|
+
this._pendingResumeConsumers.set(consumer.id, consumer);
|
|
1097
|
+
|
|
1098
|
+
// There is no Consumer resume in progress, do it now.
|
|
1099
|
+
if (this._consumerResumeInProgress === false)
|
|
1100
|
+
{
|
|
1101
|
+
this._resumePendingConsumers();
|
|
1102
|
+
}
|
|
1013
1103
|
});
|
|
1014
1104
|
|
|
1015
1105
|
consumer.on('@getstats', (callback, errback) =>
|
package/src/handlers/Chrome55.ts
CHANGED
|
@@ -702,17 +702,17 @@ export class Chrome55 extends HandlerInterface
|
|
|
702
702
|
|
|
703
703
|
await this._pc.setLocalDescription(answer);
|
|
704
704
|
}
|
|
705
|
-
|
|
705
|
+
|
|
706
706
|
async pauseReceiving(
|
|
707
707
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
708
|
-
|
|
708
|
+
localIds: string[]): Promise<void>
|
|
709
709
|
{
|
|
710
710
|
// Unimplemented.
|
|
711
711
|
}
|
|
712
712
|
|
|
713
713
|
async resumeReceiving(
|
|
714
714
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
715
|
-
|
|
715
|
+
localIds: string[]): Promise<void>
|
|
716
716
|
{
|
|
717
717
|
// Unimplemented.
|
|
718
718
|
}
|
package/src/handlers/Chrome67.ts
CHANGED
|
@@ -784,14 +784,14 @@ export class Chrome67 extends HandlerInterface
|
|
|
784
784
|
|
|
785
785
|
async pauseReceiving(
|
|
786
786
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
787
|
-
|
|
787
|
+
localIds: string[]): Promise<void>
|
|
788
788
|
{
|
|
789
789
|
// Unimplemented.
|
|
790
790
|
}
|
|
791
791
|
|
|
792
792
|
async resumeReceiving(
|
|
793
793
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
794
|
-
|
|
794
|
+
localIds: string[]): Promise<void>
|
|
795
795
|
{
|
|
796
796
|
// Unimplemented.
|
|
797
797
|
}
|
package/src/handlers/Chrome70.ts
CHANGED
|
@@ -669,6 +669,7 @@ export class Chrome70 extends HandlerInterface
|
|
|
669
669
|
this._assertRecvDirection();
|
|
670
670
|
|
|
671
671
|
const results: HandlerReceiveResult[] = [];
|
|
672
|
+
const mapLocalId: Map<string, string> = new Map();
|
|
672
673
|
|
|
673
674
|
for (const options of optionsList)
|
|
674
675
|
{
|
|
@@ -678,6 +679,8 @@ export class Chrome70 extends HandlerInterface
|
|
|
678
679
|
|
|
679
680
|
const localId = rtpParameters.mid || String(this._mapMidTransceiver.size);
|
|
680
681
|
|
|
682
|
+
mapLocalId.set(trackId, localId);
|
|
683
|
+
|
|
681
684
|
this._remoteSdp!.receive(
|
|
682
685
|
{
|
|
683
686
|
mid : localId,
|
|
@@ -701,8 +704,8 @@ export class Chrome70 extends HandlerInterface
|
|
|
701
704
|
|
|
702
705
|
for (const options of optionsList)
|
|
703
706
|
{
|
|
704
|
-
const { rtpParameters } = options;
|
|
705
|
-
const localId =
|
|
707
|
+
const { trackId, rtpParameters } = options;
|
|
708
|
+
const localId = mapLocalId.get(trackId);
|
|
706
709
|
const answerMediaObject = localSdpObject.media
|
|
707
710
|
.find((m: any) => String(m.mid) === localId);
|
|
708
711
|
|
|
@@ -734,8 +737,8 @@ export class Chrome70 extends HandlerInterface
|
|
|
734
737
|
|
|
735
738
|
for (const options of optionsList)
|
|
736
739
|
{
|
|
737
|
-
const {
|
|
738
|
-
const localId =
|
|
740
|
+
const { trackId } = options;
|
|
741
|
+
const localId = mapLocalId.get(trackId)!;
|
|
739
742
|
const transceiver = this._pc.getTransceivers()
|
|
740
743
|
.find((t: RTCRtpTransceiver) => t.mid === localId);
|
|
741
744
|
|
|
@@ -789,14 +792,14 @@ export class Chrome70 extends HandlerInterface
|
|
|
789
792
|
|
|
790
793
|
async pauseReceiving(
|
|
791
794
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
792
|
-
|
|
795
|
+
localIds: string[]): Promise<void>
|
|
793
796
|
{
|
|
794
797
|
// Unimplemented.
|
|
795
798
|
}
|
|
796
799
|
|
|
797
800
|
async resumeReceiving(
|
|
798
801
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
799
|
-
|
|
802
|
+
localIds: string[]): Promise<void>
|
|
800
803
|
{
|
|
801
804
|
// Unimplemented.
|
|
802
805
|
}
|