mediasoup-client 3.6.89 → 3.6.90

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 (125) hide show
  1. package/lib/index.d.ts +1435 -14
  2. package/lib/index.js +11884 -43
  3. package/lib/index.js.map +1 -0
  4. package/lib/index.mjs +11860 -0
  5. package/lib/index.mjs.map +1 -0
  6. package/npm-scripts.mjs +17 -11
  7. package/package.json +12 -8
  8. package/lib/Consumer.d.ts +0 -115
  9. package/lib/Consumer.d.ts.map +0 -1
  10. package/lib/Consumer.js +0 -190
  11. package/lib/DataConsumer.d.ts +0 -93
  12. package/lib/DataConsumer.d.ts.map +0 -1
  13. package/lib/DataConsumer.js +0 -162
  14. package/lib/DataProducer.d.ts +0 -97
  15. package/lib/DataProducer.d.ts.map +0 -1
  16. package/lib/DataProducer.js +0 -180
  17. package/lib/Device.d.ts +0 -92
  18. package/lib/Device.d.ts.map +0 -1
  19. package/lib/Device.js +0 -464
  20. package/lib/EnhancedEventEmitter.d.ts +0 -24
  21. package/lib/EnhancedEventEmitter.d.ts.map +0 -1
  22. package/lib/EnhancedEventEmitter.js +0 -70
  23. package/lib/Logger.d.ts +0 -11
  24. package/lib/Logger.d.ts.map +0 -1
  25. package/lib/Logger.js +0 -37
  26. package/lib/Producer.d.ts +0 -169
  27. package/lib/Producer.d.ts.map +0 -1
  28. package/lib/Producer.js +0 -287
  29. package/lib/RtpParameters.d.ts +0 -306
  30. package/lib/RtpParameters.d.ts.map +0 -1
  31. package/lib/RtpParameters.js +0 -6
  32. package/lib/SctpParameters.d.ts +0 -68
  33. package/lib/SctpParameters.d.ts.map +0 -1
  34. package/lib/SctpParameters.js +0 -2
  35. package/lib/Transport.d.ts +0 -243
  36. package/lib/Transport.d.ts.map +0 -1
  37. package/lib/Transport.js +0 -824
  38. package/lib/errors.d.ts +0 -13
  39. package/lib/errors.d.ts.map +0 -1
  40. package/lib/errors.js +0 -39
  41. package/lib/handlers/Chrome111.d.ts +0 -49
  42. package/lib/handlers/Chrome111.d.ts.map +0 -1
  43. package/lib/handlers/Chrome111.js +0 -658
  44. package/lib/handlers/Chrome55.d.ts +0 -51
  45. package/lib/handlers/Chrome55.d.ts.map +0 -1
  46. package/lib/handlers/Chrome55.js +0 -542
  47. package/lib/handlers/Chrome67.d.ts +0 -51
  48. package/lib/handlers/Chrome67.d.ts.map +0 -1
  49. package/lib/handlers/Chrome67.js +0 -598
  50. package/lib/handlers/Chrome70.d.ts +0 -49
  51. package/lib/handlers/Chrome70.d.ts.map +0 -1
  52. package/lib/handlers/Chrome70.js +0 -627
  53. package/lib/handlers/Chrome74.d.ts +0 -49
  54. package/lib/handlers/Chrome74.d.ts.map +0 -1
  55. package/lib/handlers/Chrome74.js +0 -675
  56. package/lib/handlers/Edge11.d.ts +0 -55
  57. package/lib/handlers/Edge11.d.ts.map +0 -1
  58. package/lib/handlers/Edge11.js +0 -447
  59. package/lib/handlers/FakeHandler.d.ts +0 -49
  60. package/lib/handlers/FakeHandler.d.ts.map +0 -1
  61. package/lib/handlers/FakeHandler.js +0 -276
  62. package/lib/handlers/Firefox60.d.ts +0 -48
  63. package/lib/handlers/Firefox60.d.ts.map +0 -1
  64. package/lib/handlers/Firefox60.js +0 -681
  65. package/lib/handlers/HandlerInterface.d.ts +0 -97
  66. package/lib/handlers/HandlerInterface.d.ts.map +0 -1
  67. package/lib/handlers/HandlerInterface.js +0 -10
  68. package/lib/handlers/ReactNative.d.ts +0 -51
  69. package/lib/handlers/ReactNative.d.ts.map +0 -1
  70. package/lib/handlers/ReactNative.js +0 -558
  71. package/lib/handlers/ReactNativeUnifiedPlan.d.ts +0 -49
  72. package/lib/handlers/ReactNativeUnifiedPlan.d.ts.map +0 -1
  73. package/lib/handlers/ReactNativeUnifiedPlan.js +0 -694
  74. package/lib/handlers/Safari11.d.ts +0 -51
  75. package/lib/handlers/Safari11.d.ts.map +0 -1
  76. package/lib/handlers/Safari11.js +0 -592
  77. package/lib/handlers/Safari12.d.ts +0 -49
  78. package/lib/handlers/Safari12.d.ts.map +0 -1
  79. package/lib/handlers/Safari12.js +0 -648
  80. package/lib/handlers/ortc/edgeUtils.d.ts +0 -11
  81. package/lib/handlers/ortc/edgeUtils.d.ts.map +0 -1
  82. package/lib/handlers/ortc/edgeUtils.js +0 -86
  83. package/lib/handlers/ortc/utils.d.ts +0 -6
  84. package/lib/handlers/ortc/utils.d.ts.map +0 -1
  85. package/lib/handlers/ortc/utils.js +0 -20
  86. package/lib/handlers/sdp/MediaSection.d.ts +0 -68
  87. package/lib/handlers/sdp/MediaSection.d.ts.map +0 -1
  88. package/lib/handlers/sdp/MediaSection.js +0 -589
  89. package/lib/handlers/sdp/RemoteSdp.d.ts +0 -75
  90. package/lib/handlers/sdp/RemoteSdp.d.ts.map +0 -1
  91. package/lib/handlers/sdp/RemoteSdp.js +0 -303
  92. package/lib/handlers/sdp/commonUtils.d.ts +0 -24
  93. package/lib/handlers/sdp/commonUtils.d.ts.map +0 -1
  94. package/lib/handlers/sdp/commonUtils.js +0 -224
  95. package/lib/handlers/sdp/plainRtpUtils.d.ts +0 -14
  96. package/lib/handlers/sdp/plainRtpUtils.d.ts.map +0 -1
  97. package/lib/handlers/sdp/plainRtpUtils.js +0 -33
  98. package/lib/handlers/sdp/planBUtils.d.ts +0 -14
  99. package/lib/handlers/sdp/planBUtils.d.ts.map +0 -1
  100. package/lib/handlers/sdp/planBUtils.js +0 -155
  101. package/lib/handlers/sdp/unifiedPlanUtils.d.ts +0 -12
  102. package/lib/handlers/sdp/unifiedPlanUtils.d.ts.map +0 -1
  103. package/lib/handlers/sdp/unifiedPlanUtils.js +0 -131
  104. package/lib/index.d.ts.map +0 -1
  105. package/lib/ortc.d.ts +0 -123
  106. package/lib/ortc.d.ts.map +0 -1
  107. package/lib/ortc.js +0 -943
  108. package/lib/scalabilityModes.d.ts +0 -6
  109. package/lib/scalabilityModes.d.ts.map +0 -1
  110. package/lib/scalabilityModes.js +0 -20
  111. package/lib/tests/fakeParameters.d.ts +0 -20
  112. package/lib/tests/fakeParameters.d.ts.map +0 -1
  113. package/lib/tests/fakeParameters.js +0 -659
  114. package/lib/tests/test.d.ts +0 -6
  115. package/lib/tests/test.d.ts.map +0 -1
  116. package/lib/tests/test.js +0 -1297
  117. package/lib/tests/uaTestCases.d.ts +0 -9
  118. package/lib/tests/uaTestCases.d.ts.map +0 -1
  119. package/lib/tests/uaTestCases.js +0 -85
  120. package/lib/types.d.ts +0 -15
  121. package/lib/types.d.ts.map +0 -1
  122. package/lib/types.js +0 -26
  123. package/lib/utils.d.ts +0 -9
  124. package/lib/utils.d.ts.map +0 -1
  125. package/lib/utils.js +0 -20
@@ -1,276 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = 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);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.FakeHandler = void 0;
27
- const EnhancedEventEmitter_1 = require("../EnhancedEventEmitter");
28
- const Logger_1 = require("../Logger");
29
- const fake_mediastreamtrack_1 = require("fake-mediastreamtrack");
30
- const utils = __importStar(require("../utils"));
31
- const ortc = __importStar(require("../ortc"));
32
- const HandlerInterface_1 = require("./HandlerInterface");
33
- const logger = new Logger_1.Logger('FakeHandler');
34
- class FakeDataChannel extends EnhancedEventEmitter_1.EnhancedEventEmitter {
35
- constructor({ id, ordered, maxPacketLifeTime, maxRetransmits, label, protocol }) {
36
- super();
37
- this.id = id;
38
- this.ordered = ordered;
39
- this.maxPacketLifeTime = maxPacketLifeTime;
40
- this.maxRetransmits = maxRetransmits;
41
- this.label = label;
42
- this.protocol = protocol;
43
- }
44
- close() {
45
- this.safeEmit('close');
46
- this.emit('@close');
47
- }
48
- send(data) {
49
- this.safeEmit('message', data);
50
- }
51
- addEventListener(event, fn) {
52
- this.on(event, fn);
53
- }
54
- }
55
- class FakeHandler extends HandlerInterface_1.HandlerInterface {
56
- /**
57
- * Creates a factory function.
58
- */
59
- static createFactory(fakeParameters) {
60
- return () => new FakeHandler(fakeParameters);
61
- }
62
- constructor(fakeParameters) {
63
- super();
64
- // Local RTCP CNAME.
65
- this._cname = `CNAME-${utils.generateRandomNumber()}`;
66
- // Got transport local and remote parameters.
67
- this._transportReady = false;
68
- // Next localId.
69
- this._nextLocalId = 1;
70
- // Sending and receiving tracks indexed by localId.
71
- this._tracks = new Map();
72
- // DataChannel id value counter. It must be incremented for each new DataChannel.
73
- this._nextSctpStreamId = 0;
74
- this.fakeParameters = fakeParameters;
75
- }
76
- get name() {
77
- return 'FakeHandler';
78
- }
79
- close() {
80
- logger.debug('close()');
81
- }
82
- // NOTE: Custom method for simulation purposes.
83
- setConnectionState(connectionState) {
84
- this.emit('@connectionstatechange', connectionState);
85
- }
86
- async getNativeRtpCapabilities() {
87
- logger.debug('getNativeRtpCapabilities()');
88
- return this.fakeParameters.generateNativeRtpCapabilities();
89
- }
90
- async getNativeSctpCapabilities() {
91
- logger.debug('getNativeSctpCapabilities()');
92
- return this.fakeParameters.generateNativeSctpCapabilities();
93
- }
94
- run({
95
- /* eslint-disable @typescript-eslint/no-unused-vars */
96
- direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, proprietaryConstraints, extendedRtpCapabilities
97
- /* eslint-enable @typescript-eslint/no-unused-vars */
98
- }) {
99
- logger.debug('run()');
100
- // Generic sending RTP parameters for audio and video.
101
- // @type {Object}
102
- this._rtpParametersByKind =
103
- {
104
- audio: ortc.getSendingRtpParameters('audio', extendedRtpCapabilities),
105
- video: ortc.getSendingRtpParameters('video', extendedRtpCapabilities)
106
- };
107
- }
108
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
109
- async updateIceServers(iceServers) {
110
- logger.debug('updateIceServers()');
111
- return;
112
- }
113
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
114
- async restartIce(iceParameters) {
115
- logger.debug('restartIce()');
116
- return;
117
- }
118
- async getTransportStats() {
119
- return new Map(); // NOTE: Whatever.
120
- }
121
- async send(
122
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
123
- { track, encodings, codecOptions, codec }) {
124
- logger.debug('send() [kind:%s, track.id:%s]', track.kind, track.id);
125
- if (!this._transportReady) {
126
- await this.setupTransport({ localDtlsRole: 'server' });
127
- }
128
- const rtpParameters = utils.clone(this._rtpParametersByKind[track.kind], {});
129
- const useRtx = rtpParameters.codecs
130
- .some((_codec) => /.+\/rtx$/i.test(_codec.mimeType));
131
- rtpParameters.mid = `mid-${utils.generateRandomNumber()}`;
132
- if (!encodings) {
133
- encodings = [{}];
134
- }
135
- for (const encoding of encodings) {
136
- encoding.ssrc = utils.generateRandomNumber();
137
- if (useRtx) {
138
- encoding.rtx = { ssrc: utils.generateRandomNumber() };
139
- }
140
- }
141
- rtpParameters.encodings = encodings;
142
- // Fill RTCRtpParameters.rtcp.
143
- rtpParameters.rtcp =
144
- {
145
- cname: this._cname,
146
- reducedSize: true,
147
- mux: true
148
- };
149
- const localId = this._nextLocalId++;
150
- this._tracks.set(localId, track);
151
- return { localId: String(localId), rtpParameters };
152
- }
153
- async stopSending(localId) {
154
- logger.debug('stopSending() [localId:%s]', localId);
155
- if (!this._tracks.has(Number(localId))) {
156
- throw new Error('local track not found');
157
- }
158
- this._tracks.delete(Number(localId));
159
- }
160
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
161
- async pauseSending(localId) {
162
- // Unimplemented.
163
- }
164
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
165
- async resumeSending(localId) {
166
- // Unimplemented.
167
- }
168
- async replaceTrack(localId, track) {
169
- if (track) {
170
- logger.debug('replaceTrack() [localId:%s, track.id:%s]', localId, track.id);
171
- }
172
- else {
173
- logger.debug('replaceTrack() [localId:%s, no track]', localId);
174
- }
175
- this._tracks.delete(Number(localId));
176
- this._tracks.set(Number(localId), track);
177
- }
178
- async setMaxSpatialLayer(localId, spatialLayer) {
179
- logger.debug('setMaxSpatialLayer() [localId:%s, spatialLayer:%s]', localId, spatialLayer);
180
- }
181
- async setRtpEncodingParameters(localId, params) {
182
- logger.debug('setRtpEncodingParameters() [localId:%s, params:%o]', localId, params);
183
- }
184
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
185
- async getSenderStats(localId) {
186
- return new Map(); // NOTE: Whatever.
187
- }
188
- async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }) {
189
- if (!this._transportReady) {
190
- await this.setupTransport({ localDtlsRole: 'server' });
191
- }
192
- logger.debug('sendDataChannel()');
193
- const dataChannel = new FakeDataChannel({
194
- id: this._nextSctpStreamId++,
195
- ordered,
196
- maxPacketLifeTime,
197
- maxRetransmits,
198
- label,
199
- protocol
200
- });
201
- const sctpStreamParameters = {
202
- streamId: this._nextSctpStreamId,
203
- ordered: ordered,
204
- maxPacketLifeTime: maxPacketLifeTime,
205
- maxRetransmits: maxRetransmits
206
- };
207
- // @ts-ignore.
208
- return { dataChannel, sctpStreamParameters };
209
- }
210
- async receive(optionsList) {
211
- const results = [];
212
- for (const options of optionsList) {
213
- const { trackId, kind } = options;
214
- if (!this._transportReady) {
215
- await this.setupTransport({ localDtlsRole: 'client' });
216
- }
217
- logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
218
- const localId = this._nextLocalId++;
219
- const track = new fake_mediastreamtrack_1.FakeMediaStreamTrack({ kind });
220
- this._tracks.set(localId, track);
221
- results.push({ localId: String(localId), track });
222
- }
223
- return results;
224
- }
225
- async stopReceiving(localIds) {
226
- for (const localId of localIds) {
227
- logger.debug('stopReceiving() [localId:%s]', localId);
228
- this._tracks.delete(Number(localId));
229
- }
230
- }
231
- async pauseReceiving(
232
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
233
- localIds) {
234
- // Unimplemented.
235
- }
236
- async resumeReceiving(
237
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
238
- localIds) {
239
- // Unimplemented.
240
- }
241
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
242
- async getReceiverStats(localId) {
243
- return new Map(); //
244
- }
245
- async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
246
- if (!this._transportReady) {
247
- await this.setupTransport({ localDtlsRole: 'client' });
248
- }
249
- logger.debug('receiveDataChannel()');
250
- const dataChannel = new FakeDataChannel({
251
- id: sctpStreamParameters.streamId,
252
- ordered: sctpStreamParameters.ordered,
253
- maxPacketLifeTime: sctpStreamParameters.maxPacketLifeTime,
254
- maxRetransmits: sctpStreamParameters.maxRetransmits,
255
- label,
256
- protocol
257
- });
258
- // @ts-ignore.
259
- return { dataChannel };
260
- }
261
- async setupTransport({ localDtlsRole,
262
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
263
- localSdpObject }) {
264
- const dtlsParameters = utils.clone(this.fakeParameters.generateLocalDtlsParameters(), {});
265
- // Set our DTLS role.
266
- if (localDtlsRole) {
267
- dtlsParameters.role = localDtlsRole;
268
- }
269
- // Assume we are connecting now.
270
- this.emit('@connectionstatechange', 'connecting');
271
- // Need to tell the remote transport about our parameters.
272
- await new Promise((resolve, reject) => (this.emit('@connect', { dtlsParameters }, resolve, reject)));
273
- this._transportReady = true;
274
- }
275
- }
276
- exports.FakeHandler = FakeHandler;
@@ -1,48 +0,0 @@
1
- import { HandlerFactory, HandlerInterface, HandlerRunOptions, HandlerSendOptions, HandlerSendResult, HandlerReceiveOptions, HandlerReceiveResult, HandlerSendDataChannelOptions, HandlerSendDataChannelResult, HandlerReceiveDataChannelOptions, HandlerReceiveDataChannelResult } from './HandlerInterface';
2
- import { IceParameters } from '../Transport';
3
- import { RtpCapabilities } from '../RtpParameters';
4
- import { SctpCapabilities } from '../SctpParameters';
5
- export declare class Firefox60 extends HandlerInterface {
6
- private _direction?;
7
- private _remoteSdp?;
8
- private _sendingRtpParametersByKind?;
9
- private _sendingRemoteRtpParametersByKind?;
10
- private _pc;
11
- private readonly _mapMidTransceiver;
12
- private readonly _sendStream;
13
- private _hasDataChannelMediaSection;
14
- private _nextSendSctpStreamId;
15
- private _transportReady;
16
- /**
17
- * Creates a factory function.
18
- */
19
- static createFactory(): HandlerFactory;
20
- constructor();
21
- get name(): string;
22
- close(): void;
23
- getNativeRtpCapabilities(): Promise<RtpCapabilities>;
24
- getNativeSctpCapabilities(): Promise<SctpCapabilities>;
25
- run({ direction, iceParameters, iceCandidates, dtlsParameters, sctpParameters, iceServers, iceTransportPolicy, additionalSettings, proprietaryConstraints, extendedRtpCapabilities }: HandlerRunOptions): void;
26
- updateIceServers(iceServers: RTCIceServer[]): Promise<void>;
27
- restartIce(iceParameters: IceParameters): Promise<void>;
28
- getTransportStats(): Promise<RTCStatsReport>;
29
- send({ track, encodings, codecOptions, codec }: HandlerSendOptions): Promise<HandlerSendResult>;
30
- stopSending(localId: string): Promise<void>;
31
- pauseSending(localId: string): Promise<void>;
32
- resumeSending(localId: string): Promise<void>;
33
- replaceTrack(localId: string, track: MediaStreamTrack | null): Promise<void>;
34
- setMaxSpatialLayer(localId: string, spatialLayer: number): Promise<void>;
35
- setRtpEncodingParameters(localId: string, params: any): Promise<void>;
36
- getSenderStats(localId: string): Promise<RTCStatsReport>;
37
- sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }: HandlerSendDataChannelOptions): Promise<HandlerSendDataChannelResult>;
38
- receive(optionsList: HandlerReceiveOptions[]): Promise<HandlerReceiveResult[]>;
39
- stopReceiving(localIds: string[]): Promise<void>;
40
- pauseReceiving(localIds: string[]): Promise<void>;
41
- resumeReceiving(localIds: string[]): Promise<void>;
42
- getReceiverStats(localId: string): Promise<RTCStatsReport>;
43
- receiveDataChannel({ sctpStreamParameters, label, protocol }: HandlerReceiveDataChannelOptions): Promise<HandlerReceiveDataChannelResult>;
44
- private setupTransport;
45
- private assertSendDirection;
46
- private assertRecvDirection;
47
- }
48
- //# sourceMappingURL=Firefox60.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Firefox60.d.ts","sourceRoot":"","sources":["../../src/handlers/Firefox60.ts"],"names":[],"mappings":"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"}