mediasoup-client 3.6.50 → 3.6.53

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/lib/Consumer.d.ts +22 -24
  2. package/lib/Consumer.d.ts.map +1 -1
  3. package/lib/Consumer.js +5 -18
  4. package/lib/DataConsumer.d.ts +17 -19
  5. package/lib/DataConsumer.d.ts.map +1 -1
  6. package/lib/DataConsumer.js +2 -14
  7. package/lib/DataProducer.d.ts +17 -19
  8. package/lib/DataProducer.d.ts.map +1 -1
  9. package/lib/DataProducer.js +2 -14
  10. package/lib/Device.d.ts +4 -6
  11. package/lib/Device.d.ts.map +1 -1
  12. package/lib/Device.js +8 -9
  13. package/lib/EnhancedEventEmitter.d.ts +19 -3
  14. package/lib/EnhancedEventEmitter.d.ts.map +1 -1
  15. package/lib/EnhancedEventEmitter.js +50 -14
  16. package/lib/Producer.d.ts +35 -28
  17. package/lib/Producer.d.ts.map +1 -1
  18. package/lib/Producer.js +20 -29
  19. package/lib/Transport.d.ts +49 -21
  20. package/lib/Transport.d.ts.map +1 -1
  21. package/lib/Transport.js +97 -31
  22. package/lib/handlers/Chrome55.d.ts +2 -2
  23. package/lib/handlers/Chrome55.d.ts.map +1 -1
  24. package/lib/handlers/Chrome55.js +10 -4
  25. package/lib/handlers/Chrome67.d.ts +2 -2
  26. package/lib/handlers/Chrome67.d.ts.map +1 -1
  27. package/lib/handlers/Chrome67.js +10 -4
  28. package/lib/handlers/Chrome70.d.ts +2 -2
  29. package/lib/handlers/Chrome70.d.ts.map +1 -1
  30. package/lib/handlers/Chrome70.js +10 -4
  31. package/lib/handlers/Chrome74.d.ts +2 -2
  32. package/lib/handlers/Chrome74.d.ts.map +1 -1
  33. package/lib/handlers/Chrome74.js +24 -14
  34. package/lib/handlers/Edge11.d.ts +2 -2
  35. package/lib/handlers/Edge11.d.ts.map +1 -1
  36. package/lib/handlers/Edge11.js +10 -4
  37. package/lib/handlers/FakeHandler.d.ts +4 -4
  38. package/lib/handlers/FakeHandler.d.ts.map +1 -1
  39. package/lib/handlers/FakeHandler.js +7 -3
  40. package/lib/handlers/Firefox60.d.ts +2 -2
  41. package/lib/handlers/Firefox60.d.ts.map +1 -1
  42. package/lib/handlers/Firefox60.js +24 -14
  43. package/lib/handlers/HandlerInterface.d.ts +14 -12
  44. package/lib/handlers/HandlerInterface.d.ts.map +1 -1
  45. package/lib/handlers/HandlerInterface.js +0 -8
  46. package/lib/handlers/ReactNative.d.ts +2 -2
  47. package/lib/handlers/ReactNative.d.ts.map +1 -1
  48. package/lib/handlers/ReactNative.js +10 -4
  49. package/lib/handlers/Safari11.d.ts +2 -2
  50. package/lib/handlers/Safari11.d.ts.map +1 -1
  51. package/lib/handlers/Safari11.js +10 -4
  52. package/lib/handlers/Safari12.d.ts +2 -2
  53. package/lib/handlers/Safari12.d.ts.map +1 -1
  54. package/lib/handlers/Safari12.js +24 -14
  55. package/lib/handlers/ortc/edgeUtils.js +5 -1
  56. package/lib/handlers/sdp/MediaSection.js +5 -1
  57. package/lib/handlers/sdp/RemoteSdp.js +5 -1
  58. package/lib/handlers/sdp/commonUtils.js +5 -1
  59. package/lib/index.d.ts +1 -1
  60. package/lib/index.js +6 -2
  61. package/lib/ortc.js +5 -1
  62. package/lib/types.js +5 -1
  63. package/lib/utils.d.ts.map +1 -1
  64. package/package.json +11 -11
  65. package/src/Consumer.ts +40 -29
  66. package/src/DataConsumer.ts +26 -22
  67. package/src/DataProducer.ts +26 -22
  68. package/src/Device.ts +9 -9
  69. package/src/EnhancedEventEmitter.ts +105 -22
  70. package/src/Producer.ts +99 -38
  71. package/src/Transport.ts +193 -52
  72. package/src/handlers/Chrome55.ts +12 -4
  73. package/src/handlers/Chrome67.ts +11 -3
  74. package/src/handlers/Chrome70.ts +11 -3
  75. package/src/handlers/Chrome74.ts +29 -15
  76. package/src/handlers/Edge11.ts +11 -3
  77. package/src/handlers/FakeHandler.ts +6 -5
  78. package/src/handlers/Firefox60.ts +29 -15
  79. package/src/handlers/HandlerInterface.ts +16 -12
  80. package/src/handlers/ReactNative.ts +11 -3
  81. package/src/handlers/Safari11.ts +11 -3
  82. package/src/handlers/Safari12.ts +29 -15
  83. package/src/utils.ts +0 -1
  84. package/.vimrc +0 -21
  85. package/NO_GIT/Notes.txt +0 -18
package/lib/Producer.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { EnhancedEventEmitter } from './EnhancedEventEmitter';
2
- import { RtpCodecCapability, RtpParameters, RtpEncodingParameters } from './RtpParameters';
2
+ import { MediaKind, RtpCodecCapability, RtpParameters, RtpEncodingParameters } from './RtpParameters';
3
3
  export declare type ProducerOptions = {
4
4
  track?: MediaStreamTrack;
5
5
  encodings?: RtpEncodingParameters[];
@@ -8,7 +8,7 @@ export declare type ProducerOptions = {
8
8
  stopTracks?: boolean;
9
9
  disableTrackOnPause?: boolean;
10
10
  zeroRtpOnPause?: boolean;
11
- appData?: any;
11
+ appData?: Record<string, unknown>;
12
12
  };
13
13
  export declare type ProducerCodecOptions = {
14
14
  opusStereo?: boolean;
@@ -21,7 +21,34 @@ export declare type ProducerCodecOptions = {
21
21
  videoGoogleMaxBitrate?: number;
22
22
  videoGoogleMinBitrate?: number;
23
23
  };
24
- export declare class Producer extends EnhancedEventEmitter {
24
+ export declare type ProducerEvents = {
25
+ transportclose: [];
26
+ trackended: [];
27
+ '@replacetrack': [
28
+ MediaStreamTrack | null,
29
+ () => void,
30
+ (error: Error) => void
31
+ ];
32
+ '@setmaxspatiallayer': [
33
+ number,
34
+ () => void,
35
+ (error: Error) => void
36
+ ];
37
+ '@setrtpencodingparameters': [
38
+ RTCRtpEncodingParameters,
39
+ () => void,
40
+ (error: Error) => void
41
+ ];
42
+ '@getstats': [(stats: RTCStatsReport) => void, (error: Error) => void];
43
+ '@close': [];
44
+ };
45
+ export declare type ProducerObserverEvents = {
46
+ close: [];
47
+ pause: [];
48
+ resume: [];
49
+ trackended: [];
50
+ };
51
+ export declare class Producer extends EnhancedEventEmitter<ProducerEvents> {
25
52
  private readonly _id;
26
53
  private readonly _localId;
27
54
  private _closed;
@@ -35,16 +62,7 @@ export declare class Producer extends EnhancedEventEmitter {
35
62
  private _disableTrackOnPause;
36
63
  private _zeroRtpOnPause;
37
64
  private readonly _appData;
38
- protected readonly _observer: EnhancedEventEmitter;
39
- /**
40
- * @emits transportclose
41
- * @emits trackended
42
- * @emits @replacetrack - (track: MediaStreamTrack | null)
43
- * @emits @setmaxspatiallayer - (spatialLayer: string)
44
- * @emits @setrtpencodingparameters - (params: any)
45
- * @emits @getstats
46
- * @emits @close
47
- */
65
+ protected readonly _observer: EnhancedEventEmitter<ProducerObserverEvents>;
48
66
  constructor({ id, localId, rtpSender, track, rtpParameters, stopTracks, disableTrackOnPause, zeroRtpOnPause, appData }: {
49
67
  id: string;
50
68
  localId: string;
@@ -54,7 +72,7 @@ export declare class Producer extends EnhancedEventEmitter {
54
72
  stopTracks: boolean;
55
73
  disableTrackOnPause: boolean;
56
74
  zeroRtpOnPause: boolean;
57
- appData: any;
75
+ appData?: Record<string, unknown>;
58
76
  });
59
77
  /**
60
78
  * Producer id.
@@ -71,7 +89,7 @@ export declare class Producer extends EnhancedEventEmitter {
71
89
  /**
72
90
  * Media kind.
73
91
  */
74
- get kind(): string;
92
+ get kind(): MediaKind;
75
93
  /**
76
94
  * Associated RTCRtpSender.
77
95
  */
@@ -97,19 +115,11 @@ export declare class Producer extends EnhancedEventEmitter {
97
115
  /**
98
116
  * App custom data.
99
117
  */
100
- get appData(): any;
118
+ get appData(): Record<string, unknown>;
101
119
  /**
102
120
  * Invalid setter.
103
121
  */
104
- set appData(appData: any);
105
- /**
106
- * Observer.
107
- *
108
- * @emits close
109
- * @emits pause
110
- * @emits resume
111
- * @emits trackended
112
- */
122
+ set appData(appData: Record<string, unknown>);
113
123
  get observer(): EnhancedEventEmitter;
114
124
  /**
115
125
  * Closes the Producer.
@@ -141,9 +151,6 @@ export declare class Producer extends EnhancedEventEmitter {
141
151
  * Sets the video max spatial layer to be sent.
142
152
  */
143
153
  setMaxSpatialLayer(spatialLayer: number): Promise<void>;
144
- /**
145
- * Sets the DSCP value.
146
- */
147
154
  setRtpEncodingParameters(params: RTCRtpEncodingParameters): Promise<void>;
148
155
  private _onTrackEnded;
149
156
  private _handleTrack;
@@ -1 +1 @@
1
- {"version":3,"file":"Producer.d.ts","sourceRoot":"","sources":["../src/Producer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Producer.d.ts","sourceRoot":"","sources":["../src/Producer.ts"],"names":[],"mappings":"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"}
package/lib/Producer.js CHANGED
@@ -6,15 +6,6 @@ const EnhancedEventEmitter_1 = require("./EnhancedEventEmitter");
6
6
  const errors_1 = require("./errors");
7
7
  const logger = new Logger_1.Logger('Producer');
8
8
  class Producer extends EnhancedEventEmitter_1.EnhancedEventEmitter {
9
- /**
10
- * @emits transportclose
11
- * @emits trackended
12
- * @emits @replacetrack - (track: MediaStreamTrack | null)
13
- * @emits @setmaxspatiallayer - (spatialLayer: string)
14
- * @emits @setrtpencodingparameters - (params: any)
15
- * @emits @getstats
16
- * @emits @close
17
- */
18
9
  constructor({ id, localId, rtpSender, track, rtpParameters, stopTracks, disableTrackOnPause, zeroRtpOnPause, appData }) {
19
10
  super();
20
11
  // Closed flag.
@@ -33,7 +24,7 @@ class Producer extends EnhancedEventEmitter_1.EnhancedEventEmitter {
33
24
  this._stopTracks = stopTracks;
34
25
  this._disableTrackOnPause = disableTrackOnPause;
35
26
  this._zeroRtpOnPause = zeroRtpOnPause;
36
- this._appData = appData;
27
+ this._appData = appData || {};
37
28
  this._onTrackEnded = this._onTrackEnded.bind(this);
38
29
  // NOTE: Minor issue. If zeroRtpOnPause is true, we cannot emit the
39
30
  // '@replacetrack' event here, so RTCRtpSender.track won't be null.
@@ -104,17 +95,10 @@ class Producer extends EnhancedEventEmitter_1.EnhancedEventEmitter {
104
95
  /**
105
96
  * Invalid setter.
106
97
  */
98
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
107
99
  set appData(appData) {
108
100
  throw new Error('cannot override appData object');
109
101
  }
110
- /**
111
- * Observer.
112
- *
113
- * @emits close
114
- * @emits pause
115
- * @emits resume
116
- * @emits trackended
117
- */
118
102
  get observer() {
119
103
  return this._observer;
120
104
  }
@@ -150,7 +134,9 @@ class Producer extends EnhancedEventEmitter_1.EnhancedEventEmitter {
150
134
  async getStats() {
151
135
  if (this._closed)
152
136
  throw new errors_1.InvalidStateError('closed');
153
- return this.safeEmitAsPromise('@getstats');
137
+ return new Promise((resolve, reject) => {
138
+ this.safeEmit('@getstats', resolve, reject);
139
+ });
154
140
  }
155
141
  /**
156
142
  * Pauses sending media.
@@ -166,8 +152,9 @@ class Producer extends EnhancedEventEmitter_1.EnhancedEventEmitter {
166
152
  this._track.enabled = false;
167
153
  }
168
154
  if (this._zeroRtpOnPause) {
169
- this.safeEmitAsPromise('@replacetrack', null)
170
- .catch(() => { });
155
+ new Promise((resolve, reject) => {
156
+ this.safeEmit('@replacetrack', null, resolve, reject);
157
+ }).catch(() => { });
171
158
  }
172
159
  // Emit observer event.
173
160
  this._observer.safeEmit('pause');
@@ -186,8 +173,9 @@ class Producer extends EnhancedEventEmitter_1.EnhancedEventEmitter {
186
173
  this._track.enabled = true;
187
174
  }
188
175
  if (this._zeroRtpOnPause) {
189
- this.safeEmitAsPromise('@replacetrack', this._track)
190
- .catch(() => { });
176
+ new Promise((resolve, reject) => {
177
+ this.safeEmit('@replacetrack', this._track, resolve, reject);
178
+ }).catch(() => { });
191
179
  }
192
180
  // Emit observer event.
193
181
  this._observer.safeEmit('resume');
@@ -217,7 +205,9 @@ class Producer extends EnhancedEventEmitter_1.EnhancedEventEmitter {
217
205
  return;
218
206
  }
219
207
  if (!this._zeroRtpOnPause || !this._paused) {
220
- await this.safeEmitAsPromise('@replacetrack', track);
208
+ await new Promise((resolve, reject) => {
209
+ this.safeEmit('@replacetrack', track, resolve, reject);
210
+ });
221
211
  }
222
212
  // Destroy the previous track.
223
213
  this._destroyTrack();
@@ -246,18 +236,19 @@ class Producer extends EnhancedEventEmitter_1.EnhancedEventEmitter {
246
236
  throw new TypeError('invalid spatialLayer');
247
237
  if (spatialLayer === this._maxSpatialLayer)
248
238
  return;
249
- await this.safeEmitAsPromise('@setmaxspatiallayer', spatialLayer);
239
+ await new Promise((resolve, reject) => {
240
+ this.safeEmit('@setmaxspatiallayer', spatialLayer, resolve, reject);
241
+ }).catch(() => { });
250
242
  this._maxSpatialLayer = spatialLayer;
251
243
  }
252
- /**
253
- * Sets the DSCP value.
254
- */
255
244
  async setRtpEncodingParameters(params) {
256
245
  if (this._closed)
257
246
  throw new errors_1.InvalidStateError('closed');
258
247
  else if (typeof params !== 'object')
259
248
  throw new TypeError('invalid params');
260
- await this.safeEmitAsPromise('@setrtpencodingparameters', params);
249
+ await new Promise((resolve, reject) => {
250
+ this.safeEmit('@setrtpencodingparameters', params, resolve, reject);
251
+ });
261
252
  }
262
253
  _onTrackEnded() {
263
254
  logger.debug('track "ended" event');
@@ -4,7 +4,8 @@ import { Producer, ProducerOptions } from './Producer';
4
4
  import { Consumer, ConsumerOptions } from './Consumer';
5
5
  import { DataProducer, DataProducerOptions } from './DataProducer';
6
6
  import { DataConsumer, DataConsumerOptions } from './DataConsumer';
7
- import { SctpParameters } from './SctpParameters';
7
+ import { RtpParameters, MediaKind } from './RtpParameters';
8
+ import { SctpParameters, SctpStreamParameters } from './SctpParameters';
8
9
  interface InternalTransportOptions extends TransportOptions {
9
10
  direction: 'send' | 'recv';
10
11
  handlerFactory: HandlerFactory;
@@ -21,7 +22,7 @@ export declare type TransportOptions = {
21
22
  iceTransportPolicy?: RTCIceTransportPolicy;
22
23
  additionalSettings?: any;
23
24
  proprietaryConstraints?: any;
24
- appData?: any;
25
+ appData?: Record<string, unknown>;
25
26
  };
26
27
  export declare type CanProduceByKind = {
27
28
  audio: boolean;
@@ -100,7 +101,43 @@ export declare type PlainRtpParameters = {
100
101
  ipVersion: 4 | 6;
101
102
  port: number;
102
103
  };
103
- export declare class Transport extends EnhancedEventEmitter {
104
+ export declare type TransportEvents = {
105
+ connect: [{
106
+ dtlsParameters: DtlsParameters;
107
+ }, () => void, (error: Error) => void];
108
+ connectionstatechange: [ConnectionState];
109
+ produce: [
110
+ {
111
+ kind: MediaKind;
112
+ rtpParameters: RtpParameters;
113
+ appData: Record<string, unknown>;
114
+ },
115
+ ({ id }: {
116
+ id: string;
117
+ }) => void,
118
+ (error: Error) => void
119
+ ];
120
+ producedata: [
121
+ {
122
+ sctpStreamParameters: SctpStreamParameters;
123
+ label?: string;
124
+ protocol?: string;
125
+ appData: Record<string, unknown>;
126
+ },
127
+ ({ id }: {
128
+ id: string;
129
+ }) => void,
130
+ (error: Error) => void
131
+ ];
132
+ };
133
+ export declare type TransportObserverEvents = {
134
+ close: [];
135
+ newproducer: [Producer];
136
+ newconsumer: [Consumer];
137
+ newdataproducer: [DataProducer];
138
+ newdataconsumer: [DataConsumer];
139
+ };
140
+ export declare class Transport extends EnhancedEventEmitter<TransportEvents> {
104
141
  private readonly _id;
105
142
  private _closed;
106
143
  private readonly _direction;
@@ -118,13 +155,11 @@ export declare class Transport extends EnhancedEventEmitter {
118
155
  private readonly _awaitQueue;
119
156
  private _pendingConsumerTasks;
120
157
  private _consumerCreationInProgress;
121
- protected readonly _observer: EnhancedEventEmitter;
122
- /**
123
- * @emits connect - (transportLocalParameters: any, callback: Function, errback: Function)
124
- * @emits connectionstatechange - (connectionState: ConnectionState)
125
- * @emits produce - (producerLocalParameters: any, callback: Function, errback: Function)
126
- * @emits producedata - (dataProducerLocalParameters: any, callback: Function, errback: Function)
127
- */
158
+ private _pendingPauseConsumers;
159
+ private _consumerPauseInProgress;
160
+ private _pendingResumeConsumers;
161
+ private _consumerResumeInProgress;
162
+ protected readonly _observer: EnhancedEventEmitter<TransportObserverEvents>;
128
163
  constructor({ direction, id, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, appData, handlerFactory, extendedRtpCapabilities, canProduceByKind }: InternalTransportOptions);
129
164
  /**
130
165
  * Transport id.
@@ -149,20 +184,11 @@ export declare class Transport extends EnhancedEventEmitter {
149
184
  /**
150
185
  * App custom data.
151
186
  */
152
- get appData(): any;
187
+ get appData(): Record<string, unknown>;
153
188
  /**
154
189
  * Invalid setter.
155
190
  */
156
- set appData(appData: any);
157
- /**
158
- * Observer.
159
- *
160
- * @emits close
161
- * @emits newproducer - (producer: Producer)
162
- * @emits newconsumer - (producer: Producer)
163
- * @emits newdataproducer - (dataProducer: DataProducer)
164
- * @emits newdataconsumer - (dataProducer: DataProducer)
165
- */
191
+ set appData(appData: Record<string, unknown>);
166
192
  get observer(): EnhancedEventEmitter;
167
193
  /**
168
194
  * Close the Transport.
@@ -203,6 +229,8 @@ export declare class Transport extends EnhancedEventEmitter {
203
229
  */
204
230
  consumeData({ id, dataProducerId, sctpStreamParameters, label, protocol, appData }: DataConsumerOptions): Promise<DataConsumer>;
205
231
  _createPendingConsumers(): Promise<void>;
232
+ _pausePendingConsumers(): void;
233
+ _resumePendingConsumers(): void;
206
234
  _handleHandler(): void;
207
235
  _handleProducer(producer: Producer): void;
208
236
  _handleConsumer(consumer: Consumer): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../src/Transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transport.d.ts","sourceRoot":"","sources":["../src/Transport.ts"],"names":[],"mappings":"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"}
package/lib/Transport.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -30,6 +34,7 @@ const Producer_1 = require("./Producer");
30
34
  const Consumer_1 = require("./Consumer");
31
35
  const DataProducer_1 = require("./DataProducer");
32
36
  const DataConsumer_1 = require("./DataConsumer");
37
+ const logger = new Logger_1.Logger('Transport');
33
38
  class ConsumerCreationTask {
34
39
  constructor(consumerOptions) {
35
40
  this.consumerOptions = consumerOptions;
@@ -39,14 +44,7 @@ class ConsumerCreationTask {
39
44
  });
40
45
  }
41
46
  }
42
- const logger = new Logger_1.Logger('Transport');
43
47
  class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
44
- /**
45
- * @emits connect - (transportLocalParameters: any, callback: Function, errback: Function)
46
- * @emits connectionstatechange - (connectionState: ConnectionState)
47
- * @emits produce - (producerLocalParameters: any, callback: Function, errback: Function)
48
- * @emits producedata - (dataProducerLocalParameters: any, callback: Function, errback: Function)
49
- */
50
48
  constructor({ direction, id, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, appData, handlerFactory, extendedRtpCapabilities, canProduceByKind }) {
51
49
  super();
52
50
  // Closed flag.
@@ -69,6 +67,14 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
69
67
  this._pendingConsumerTasks = [];
70
68
  // Consumer creation in progress flag.
71
69
  this._consumerCreationInProgress = false;
70
+ // Consumers pending to be paused.
71
+ this._pendingPauseConsumers = new Map();
72
+ // Consumer pause in progress flag.
73
+ this._consumerPauseInProgress = false;
74
+ // Consumers pending to be resumed.
75
+ this._pendingResumeConsumers = new Map();
76
+ // Consumer resume in progress flag.
77
+ this._consumerResumeInProgress = false;
72
78
  // Observer instance.
73
79
  this._observer = new EnhancedEventEmitter_1.EnhancedEventEmitter();
74
80
  logger.debug('constructor() [id:%s, direction:%s]', id, direction);
@@ -98,7 +104,7 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
98
104
  proprietaryConstraints,
99
105
  extendedRtpCapabilities
100
106
  });
101
- this._appData = appData;
107
+ this._appData = appData || {};
102
108
  this._handleHandler();
103
109
  }
104
110
  /**
@@ -140,18 +146,10 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
140
146
  /**
141
147
  * Invalid setter.
142
148
  */
149
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
143
150
  set appData(appData) {
144
151
  throw new Error('cannot override appData object');
145
152
  }
146
- /**
147
- * Observer.
148
- *
149
- * @emits close
150
- * @emits newproducer - (producer: Producer)
151
- * @emits newconsumer - (producer: Producer)
152
- * @emits newdataproducer - (dataProducer: DataProducer)
153
- * @emits newdataconsumer - (dataProducer: DataProducer)
154
- */
155
153
  get observer() {
156
154
  return this._observer;
157
155
  }
@@ -286,10 +284,12 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
286
284
  try {
287
285
  // This will fill rtpParameters's missing fields with default values.
288
286
  ortc.validateRtpParameters(rtpParameters);
289
- const { id } = await this.safeEmitAsPromise('produce', {
290
- kind: track.kind,
291
- rtpParameters,
292
- appData
287
+ const { id } = await new Promise((resolve, reject) => {
288
+ this.safeEmit('produce', {
289
+ kind: track.kind,
290
+ rtpParameters,
291
+ appData
292
+ }, resolve, reject);
293
293
  });
294
294
  const producer = new Producer_1.Producer({
295
295
  id,
@@ -393,11 +393,13 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
393
393
  });
394
394
  // This will fill sctpStreamParameters's missing fields with default values.
395
395
  ortc.validateSctpStreamParameters(sctpStreamParameters);
396
- const { id } = await this.safeEmitAsPromise('producedata', {
397
- sctpStreamParameters,
398
- label,
399
- protocol,
400
- appData
396
+ const { id } = await new Promise((resolve, reject) => {
397
+ this.safeEmit('producedata', {
398
+ sctpStreamParameters,
399
+ label,
400
+ protocol,
401
+ appData
402
+ }, resolve, reject);
401
403
  });
402
404
  const dataProducer = new DataProducer_1.DataProducer({ id, dataChannel, sctpStreamParameters, appData });
403
405
  this._dataProducers.set(dataProducer.id, dataProducer);
@@ -529,6 +531,52 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
529
531
  // NOTE: We only get here when the await queue is closed.
530
532
  .catch(() => { });
531
533
  }
534
+ _pausePendingConsumers() {
535
+ this._awaitQueue.push(async () => {
536
+ this._consumerPauseInProgress = true;
537
+ const pendingPauseConsumers = Array.from(this._pendingPauseConsumers.values());
538
+ // Clear pending pause Consumer map.
539
+ this._pendingPauseConsumers.clear();
540
+ try {
541
+ await this._handler.pauseReceiving(pendingPauseConsumers.map((consumer) => consumer.localId));
542
+ }
543
+ catch (error) {
544
+ logger.error('_pausePendingConsumers() | failed to pause Consumers:', error);
545
+ }
546
+ this._consumerPauseInProgress = false;
547
+ }, 'consumer @pause event')
548
+ .then(() => {
549
+ // There are pending Consumers to be paused, do it.
550
+ if (this._pendingPauseConsumers.size > 0) {
551
+ this._pausePendingConsumers();
552
+ }
553
+ })
554
+ // NOTE: We only get here when the await queue is closed.
555
+ .catch(() => { });
556
+ }
557
+ _resumePendingConsumers() {
558
+ this._awaitQueue.push(async () => {
559
+ this._consumerResumeInProgress = true;
560
+ const pendingResumeConsumers = Array.from(this._pendingResumeConsumers.values());
561
+ // Clear pending resume Consumer map.
562
+ this._pendingResumeConsumers.clear();
563
+ try {
564
+ await this._handler.resumeReceiving(pendingResumeConsumers.map((consumer) => consumer.localId));
565
+ }
566
+ catch (error) {
567
+ logger.error('_resumePendingConsumers() | failed to resume Consumers:', error);
568
+ }
569
+ }, 'consumer @resume event')
570
+ .then(() => {
571
+ this._consumerResumeInProgress = false;
572
+ // There are pending Consumer to be resumed, do it.
573
+ if (this._pendingResumeConsumers.size > 0) {
574
+ this._resumePendingConsumers();
575
+ }
576
+ })
577
+ // NOTE: We only get here when the await queue is closed.
578
+ .catch(() => { });
579
+ }
532
580
  _handleHandler() {
533
581
  const handler = this._handler;
534
582
  handler.on('@connect', ({ dtlsParameters }, callback, errback) => {
@@ -581,18 +629,36 @@ class Transport extends EnhancedEventEmitter_1.EnhancedEventEmitter {
581
629
  _handleConsumer(consumer) {
582
630
  consumer.on('@close', () => {
583
631
  this._consumers.delete(consumer.id);
632
+ this._pendingPauseConsumers.delete(consumer.id);
633
+ this._pendingResumeConsumers.delete(consumer.id);
584
634
  if (this._closed)
585
635
  return;
586
636
  this._awaitQueue.push(async () => this._handler.stopReceiving(consumer.localId), 'consumer @close event')
587
637
  .catch(() => { });
588
638
  });
589
639
  consumer.on('@pause', () => {
590
- this._awaitQueue.push(async () => this._handler.pauseReceiving(consumer.localId), 'consumer @pause event')
591
- .catch(() => { });
640
+ // If Consumer is pending to be resumed, remove from pending resume list.
641
+ if (this._pendingResumeConsumers.has(consumer.id)) {
642
+ this._pendingResumeConsumers.delete(consumer.id);
643
+ }
644
+ // Store the Consumer into the pending list.
645
+ this._pendingPauseConsumers.set(consumer.id, consumer);
646
+ // There is no Consumer pause in progress, do it now.
647
+ if (this._consumerPauseInProgress === false) {
648
+ this._pausePendingConsumers();
649
+ }
592
650
  });
593
651
  consumer.on('@resume', () => {
594
- this._awaitQueue.push(async () => this._handler.resumeReceiving(consumer.localId), 'consumer @resume event')
595
- .catch(() => { });
652
+ // If Consumer is pending to be paused, remove from pending pause list.
653
+ if (this._pendingPauseConsumers.has(consumer.id)) {
654
+ this._pendingPauseConsumers.delete(consumer.id);
655
+ }
656
+ // Store the Consumer into the pending list.
657
+ this._pendingResumeConsumers.set(consumer.id, consumer);
658
+ // There is no Consumer resume in progress, do it now.
659
+ if (this._consumerResumeInProgress === false) {
660
+ this._resumePendingConsumers();
661
+ }
596
662
  });
597
663
  consumer.on('@getstats', (callback, errback) => {
598
664
  if (this._closed)
@@ -38,8 +38,8 @@ export declare class Chrome55 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(localId: string): Promise<void>;
42
- resumeReceiving(localId: string): Promise<void>;
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":"Chrome55.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome55.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chrome55.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome55.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -438,12 +442,12 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
438
442
  }
439
443
  async pauseReceiving(
440
444
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
441
- localId) {
445
+ localIds) {
442
446
  // Unimplemented.
443
447
  }
444
448
  async resumeReceiving(
445
449
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
446
- localId) {
450
+ localIds) {
447
451
  // Unimplemented.
448
452
  }
449
453
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -496,7 +500,9 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
496
500
  // Update the remote DTLS role in the SDP.
497
501
  this._remoteSdp.updateDtlsRole(localDtlsRole === 'client' ? 'server' : 'client');
498
502
  // Need to tell the remote transport about our parameters.
499
- await this.safeEmitAsPromise('@connect', { dtlsParameters });
503
+ await new Promise((resolve, reject) => {
504
+ this.safeEmit('@connect', { dtlsParameters }, resolve, reject);
505
+ });
500
506
  this._transportReady = true;
501
507
  }
502
508
  _assertSendDirection() {