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.
- package/lib/index.d.ts +1435 -14
- package/lib/index.js +11884 -43
- package/lib/index.js.map +1 -0
- package/lib/index.mjs +11860 -0
- package/lib/index.mjs.map +1 -0
- package/npm-scripts.mjs +17 -11
- package/package.json +12 -8
- package/lib/Consumer.d.ts +0 -115
- package/lib/Consumer.d.ts.map +0 -1
- package/lib/Consumer.js +0 -190
- package/lib/DataConsumer.d.ts +0 -93
- package/lib/DataConsumer.d.ts.map +0 -1
- package/lib/DataConsumer.js +0 -162
- package/lib/DataProducer.d.ts +0 -97
- package/lib/DataProducer.d.ts.map +0 -1
- package/lib/DataProducer.js +0 -180
- package/lib/Device.d.ts +0 -92
- package/lib/Device.d.ts.map +0 -1
- package/lib/Device.js +0 -464
- package/lib/EnhancedEventEmitter.d.ts +0 -24
- package/lib/EnhancedEventEmitter.d.ts.map +0 -1
- package/lib/EnhancedEventEmitter.js +0 -70
- package/lib/Logger.d.ts +0 -11
- package/lib/Logger.d.ts.map +0 -1
- package/lib/Logger.js +0 -37
- package/lib/Producer.d.ts +0 -169
- package/lib/Producer.d.ts.map +0 -1
- package/lib/Producer.js +0 -287
- package/lib/RtpParameters.d.ts +0 -306
- package/lib/RtpParameters.d.ts.map +0 -1
- package/lib/RtpParameters.js +0 -6
- package/lib/SctpParameters.d.ts +0 -68
- package/lib/SctpParameters.d.ts.map +0 -1
- package/lib/SctpParameters.js +0 -2
- package/lib/Transport.d.ts +0 -243
- package/lib/Transport.d.ts.map +0 -1
- package/lib/Transport.js +0 -824
- package/lib/errors.d.ts +0 -13
- package/lib/errors.d.ts.map +0 -1
- package/lib/errors.js +0 -39
- package/lib/handlers/Chrome111.d.ts +0 -49
- package/lib/handlers/Chrome111.d.ts.map +0 -1
- package/lib/handlers/Chrome111.js +0 -658
- package/lib/handlers/Chrome55.d.ts +0 -51
- package/lib/handlers/Chrome55.d.ts.map +0 -1
- package/lib/handlers/Chrome55.js +0 -542
- package/lib/handlers/Chrome67.d.ts +0 -51
- package/lib/handlers/Chrome67.d.ts.map +0 -1
- package/lib/handlers/Chrome67.js +0 -598
- package/lib/handlers/Chrome70.d.ts +0 -49
- package/lib/handlers/Chrome70.d.ts.map +0 -1
- package/lib/handlers/Chrome70.js +0 -627
- package/lib/handlers/Chrome74.d.ts +0 -49
- package/lib/handlers/Chrome74.d.ts.map +0 -1
- package/lib/handlers/Chrome74.js +0 -675
- package/lib/handlers/Edge11.d.ts +0 -55
- package/lib/handlers/Edge11.d.ts.map +0 -1
- package/lib/handlers/Edge11.js +0 -447
- package/lib/handlers/FakeHandler.d.ts +0 -49
- package/lib/handlers/FakeHandler.d.ts.map +0 -1
- package/lib/handlers/FakeHandler.js +0 -276
- package/lib/handlers/Firefox60.d.ts +0 -48
- package/lib/handlers/Firefox60.d.ts.map +0 -1
- package/lib/handlers/Firefox60.js +0 -681
- package/lib/handlers/HandlerInterface.d.ts +0 -97
- package/lib/handlers/HandlerInterface.d.ts.map +0 -1
- package/lib/handlers/HandlerInterface.js +0 -10
- package/lib/handlers/ReactNative.d.ts +0 -51
- package/lib/handlers/ReactNative.d.ts.map +0 -1
- package/lib/handlers/ReactNative.js +0 -558
- package/lib/handlers/ReactNativeUnifiedPlan.d.ts +0 -49
- package/lib/handlers/ReactNativeUnifiedPlan.d.ts.map +0 -1
- package/lib/handlers/ReactNativeUnifiedPlan.js +0 -694
- package/lib/handlers/Safari11.d.ts +0 -51
- package/lib/handlers/Safari11.d.ts.map +0 -1
- package/lib/handlers/Safari11.js +0 -592
- package/lib/handlers/Safari12.d.ts +0 -49
- package/lib/handlers/Safari12.d.ts.map +0 -1
- package/lib/handlers/Safari12.js +0 -648
- package/lib/handlers/ortc/edgeUtils.d.ts +0 -11
- package/lib/handlers/ortc/edgeUtils.d.ts.map +0 -1
- package/lib/handlers/ortc/edgeUtils.js +0 -86
- package/lib/handlers/ortc/utils.d.ts +0 -6
- package/lib/handlers/ortc/utils.d.ts.map +0 -1
- package/lib/handlers/ortc/utils.js +0 -20
- package/lib/handlers/sdp/MediaSection.d.ts +0 -68
- package/lib/handlers/sdp/MediaSection.d.ts.map +0 -1
- package/lib/handlers/sdp/MediaSection.js +0 -589
- package/lib/handlers/sdp/RemoteSdp.d.ts +0 -75
- package/lib/handlers/sdp/RemoteSdp.d.ts.map +0 -1
- package/lib/handlers/sdp/RemoteSdp.js +0 -303
- package/lib/handlers/sdp/commonUtils.d.ts +0 -24
- package/lib/handlers/sdp/commonUtils.d.ts.map +0 -1
- package/lib/handlers/sdp/commonUtils.js +0 -224
- package/lib/handlers/sdp/plainRtpUtils.d.ts +0 -14
- package/lib/handlers/sdp/plainRtpUtils.d.ts.map +0 -1
- package/lib/handlers/sdp/plainRtpUtils.js +0 -33
- package/lib/handlers/sdp/planBUtils.d.ts +0 -14
- package/lib/handlers/sdp/planBUtils.d.ts.map +0 -1
- package/lib/handlers/sdp/planBUtils.js +0 -155
- package/lib/handlers/sdp/unifiedPlanUtils.d.ts +0 -12
- package/lib/handlers/sdp/unifiedPlanUtils.d.ts.map +0 -1
- package/lib/handlers/sdp/unifiedPlanUtils.js +0 -131
- package/lib/index.d.ts.map +0 -1
- package/lib/ortc.d.ts +0 -123
- package/lib/ortc.d.ts.map +0 -1
- package/lib/ortc.js +0 -943
- package/lib/scalabilityModes.d.ts +0 -6
- package/lib/scalabilityModes.d.ts.map +0 -1
- package/lib/scalabilityModes.js +0 -20
- package/lib/tests/fakeParameters.d.ts +0 -20
- package/lib/tests/fakeParameters.d.ts.map +0 -1
- package/lib/tests/fakeParameters.js +0 -659
- package/lib/tests/test.d.ts +0 -6
- package/lib/tests/test.d.ts.map +0 -1
- package/lib/tests/test.js +0 -1297
- package/lib/tests/uaTestCases.d.ts +0 -9
- package/lib/tests/uaTestCases.d.ts.map +0 -1
- package/lib/tests/uaTestCases.js +0 -85
- package/lib/types.d.ts +0 -15
- package/lib/types.d.ts.map +0 -1
- package/lib/types.js +0 -26
- package/lib/utils.d.ts +0 -9
- package/lib/utils.d.ts.map +0 -1
- package/lib/utils.js +0 -20
package/npm-scripts.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import process from 'process';
|
|
2
|
+
import path from 'path';
|
|
2
3
|
import os from 'os';
|
|
3
4
|
import fs from 'fs';
|
|
4
5
|
import { execSync } from 'child_process';
|
|
@@ -43,15 +44,9 @@ async function run()
|
|
|
43
44
|
|
|
44
45
|
case 'typescript:watch':
|
|
45
46
|
{
|
|
46
|
-
// NOTE: Load dep on demand since it's a devDependency.
|
|
47
|
-
const { TscWatchClient } = await import('tsc-watch/client.js');
|
|
48
|
-
|
|
49
|
-
const watch = new TscWatchClient();
|
|
50
|
-
|
|
51
47
|
deleteLib();
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
watch.start('--pretty');
|
|
48
|
+
// NOTE: We need to enable tsc emit so it writes node/lib.
|
|
49
|
+
executeCmd('tsc --noEmit false --watch');
|
|
55
50
|
|
|
56
51
|
break;
|
|
57
52
|
}
|
|
@@ -122,14 +117,24 @@ function replaceVersion()
|
|
|
122
117
|
{
|
|
123
118
|
logInfo('replaceVersion()');
|
|
124
119
|
|
|
125
|
-
const files =
|
|
120
|
+
const files = fs.readdirSync('lib',
|
|
121
|
+
{
|
|
122
|
+
withFileTypes : true,
|
|
123
|
+
recursive : true
|
|
124
|
+
});
|
|
126
125
|
|
|
127
126
|
for (const file of files)
|
|
128
127
|
{
|
|
129
|
-
|
|
128
|
+
if (!file.isFile())
|
|
129
|
+
{
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
const filePath = path.join('lib', file.name);
|
|
134
|
+
const text = fs.readFileSync(filePath, { encoding: 'utf8' });
|
|
130
135
|
const result = text.replace(/__MEDIASOUP_CLIENT_VERSION__/g, PKG.version);
|
|
131
136
|
|
|
132
|
-
fs.writeFileSync(
|
|
137
|
+
fs.writeFileSync(filePath, result, { encoding: 'utf8' });
|
|
133
138
|
}
|
|
134
139
|
}
|
|
135
140
|
|
|
@@ -164,6 +169,7 @@ function buildTypescript(force = false)
|
|
|
164
169
|
|
|
165
170
|
deleteLib();
|
|
166
171
|
executeCmd('tsc');
|
|
172
|
+
executeCmd('rollup --config');
|
|
167
173
|
}
|
|
168
174
|
|
|
169
175
|
function lint()
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mediasoup-client",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.90",
|
|
4
4
|
"description": "mediasoup client side JavaScript library",
|
|
5
5
|
"contributors": [
|
|
6
6
|
"Iñaki Baz Castillo <ibc@aliax.net> (https://inakibaz.me)",
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"url": "https://opencollective.com/mediasoup"
|
|
18
18
|
},
|
|
19
19
|
"main": "lib/index.js",
|
|
20
|
+
"module": "lib/index.mjs",
|
|
20
21
|
"types": "lib/index.d.ts",
|
|
21
22
|
"files": [
|
|
22
23
|
"npm-scripts.mjs",
|
|
@@ -69,7 +70,7 @@
|
|
|
69
70
|
"h264-profile-level-id": "^1.0.1",
|
|
70
71
|
"queue-microtask": "^1.2.3",
|
|
71
72
|
"sdp-transform": "^2.14.1",
|
|
72
|
-
"supports-color": "^9.
|
|
73
|
+
"supports-color": "^9.4.0",
|
|
73
74
|
"ua-parser-js": "^1.0.35"
|
|
74
75
|
},
|
|
75
76
|
"devDependencies": {
|
|
@@ -77,14 +78,17 @@
|
|
|
77
78
|
"@types/jest": "^29.5.2",
|
|
78
79
|
"@types/sdp-transform": "^2.4.6",
|
|
79
80
|
"@types/ua-parser-js": "^0.7.36",
|
|
80
|
-
"@typescript-eslint/eslint-plugin": "^5.60.
|
|
81
|
-
"@typescript-eslint/parser": "^5.60.
|
|
82
|
-
"
|
|
81
|
+
"@typescript-eslint/eslint-plugin": "^5.60.1",
|
|
82
|
+
"@typescript-eslint/parser": "^5.60.1",
|
|
83
|
+
"esbuild": "^0.18.11",
|
|
84
|
+
"eslint": "^8.44.0",
|
|
83
85
|
"eslint-plugin-jest": "^27.2.2",
|
|
84
86
|
"jest": "^29.5.0",
|
|
85
87
|
"open-cli": "^7.2.0",
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
88
|
+
"rollup": "^3.26.0",
|
|
89
|
+
"rollup-plugin-dts": "^5.3.0",
|
|
90
|
+
"rollup-plugin-esbuild": "^5.0.0",
|
|
91
|
+
"ts-jest": "^29.1.1",
|
|
92
|
+
"typescript": "^5.1.6"
|
|
89
93
|
}
|
|
90
94
|
}
|
package/lib/Consumer.d.ts
DELETED
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { EnhancedEventEmitter } from './EnhancedEventEmitter';
|
|
2
|
-
import { MediaKind, RtpParameters } from './RtpParameters';
|
|
3
|
-
import { AppData } from './types';
|
|
4
|
-
export type ConsumerOptions<ConsumerAppData extends AppData = AppData> = {
|
|
5
|
-
id?: string;
|
|
6
|
-
producerId?: string;
|
|
7
|
-
kind?: 'audio' | 'video';
|
|
8
|
-
rtpParameters: RtpParameters;
|
|
9
|
-
streamId?: string;
|
|
10
|
-
appData?: ConsumerAppData;
|
|
11
|
-
};
|
|
12
|
-
export type ConsumerEvents = {
|
|
13
|
-
transportclose: [];
|
|
14
|
-
trackended: [];
|
|
15
|
-
'@getstats': [(stats: RTCStatsReport) => void, (error: Error) => void];
|
|
16
|
-
'@close': [];
|
|
17
|
-
'@pause': [];
|
|
18
|
-
'@resume': [];
|
|
19
|
-
};
|
|
20
|
-
export type ConsumerObserverEvents = {
|
|
21
|
-
close: [];
|
|
22
|
-
pause: [];
|
|
23
|
-
resume: [];
|
|
24
|
-
trackended: [];
|
|
25
|
-
};
|
|
26
|
-
export declare class Consumer<ConsumerAppData extends AppData = AppData> extends EnhancedEventEmitter<ConsumerEvents> {
|
|
27
|
-
private readonly _id;
|
|
28
|
-
private readonly _localId;
|
|
29
|
-
private readonly _producerId;
|
|
30
|
-
private _closed;
|
|
31
|
-
private readonly _rtpReceiver?;
|
|
32
|
-
private readonly _track;
|
|
33
|
-
private readonly _rtpParameters;
|
|
34
|
-
private _paused;
|
|
35
|
-
private _appData;
|
|
36
|
-
protected readonly _observer: EnhancedEventEmitter<ConsumerObserverEvents>;
|
|
37
|
-
constructor({ id, localId, producerId, rtpReceiver, track, rtpParameters, appData }: {
|
|
38
|
-
id: string;
|
|
39
|
-
localId: string;
|
|
40
|
-
producerId: string;
|
|
41
|
-
rtpReceiver?: RTCRtpReceiver;
|
|
42
|
-
track: MediaStreamTrack;
|
|
43
|
-
rtpParameters: RtpParameters;
|
|
44
|
-
appData?: ConsumerAppData;
|
|
45
|
-
});
|
|
46
|
-
/**
|
|
47
|
-
* Consumer id.
|
|
48
|
-
*/
|
|
49
|
-
get id(): string;
|
|
50
|
-
/**
|
|
51
|
-
* Local id.
|
|
52
|
-
*/
|
|
53
|
-
get localId(): string;
|
|
54
|
-
/**
|
|
55
|
-
* Associated Producer id.
|
|
56
|
-
*/
|
|
57
|
-
get producerId(): string;
|
|
58
|
-
/**
|
|
59
|
-
* Whether the Consumer is closed.
|
|
60
|
-
*/
|
|
61
|
-
get closed(): boolean;
|
|
62
|
-
/**
|
|
63
|
-
* Media kind.
|
|
64
|
-
*/
|
|
65
|
-
get kind(): MediaKind;
|
|
66
|
-
/**
|
|
67
|
-
* Associated RTCRtpReceiver.
|
|
68
|
-
*/
|
|
69
|
-
get rtpReceiver(): RTCRtpReceiver | undefined;
|
|
70
|
-
/**
|
|
71
|
-
* The associated track.
|
|
72
|
-
*/
|
|
73
|
-
get track(): MediaStreamTrack;
|
|
74
|
-
/**
|
|
75
|
-
* RTP parameters.
|
|
76
|
-
*/
|
|
77
|
-
get rtpParameters(): RtpParameters;
|
|
78
|
-
/**
|
|
79
|
-
* Whether the Consumer is paused.
|
|
80
|
-
*/
|
|
81
|
-
get paused(): boolean;
|
|
82
|
-
/**
|
|
83
|
-
* App custom data.
|
|
84
|
-
*/
|
|
85
|
-
get appData(): ConsumerAppData;
|
|
86
|
-
/**
|
|
87
|
-
* App custom data setter.
|
|
88
|
-
*/
|
|
89
|
-
set appData(appData: ConsumerAppData);
|
|
90
|
-
get observer(): EnhancedEventEmitter;
|
|
91
|
-
/**
|
|
92
|
-
* Closes the Consumer.
|
|
93
|
-
*/
|
|
94
|
-
close(): void;
|
|
95
|
-
/**
|
|
96
|
-
* Transport was closed.
|
|
97
|
-
*/
|
|
98
|
-
transportClosed(): void;
|
|
99
|
-
/**
|
|
100
|
-
* Get associated RTCRtpReceiver stats.
|
|
101
|
-
*/
|
|
102
|
-
getStats(): Promise<RTCStatsReport>;
|
|
103
|
-
/**
|
|
104
|
-
* Pauses receiving media.
|
|
105
|
-
*/
|
|
106
|
-
pause(): void;
|
|
107
|
-
/**
|
|
108
|
-
* Resumes receiving media.
|
|
109
|
-
*/
|
|
110
|
-
resume(): void;
|
|
111
|
-
private onTrackEnded;
|
|
112
|
-
private handleTrack;
|
|
113
|
-
private destroyTrack;
|
|
114
|
-
}
|
|
115
|
-
//# sourceMappingURL=Consumer.d.ts.map
|
package/lib/Consumer.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Consumer.d.ts","sourceRoot":"","sources":["../src/Consumer.ts"],"names":[],"mappings":"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"}
|
package/lib/Consumer.js
DELETED
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Consumer = void 0;
|
|
4
|
-
const Logger_1 = require("./Logger");
|
|
5
|
-
const EnhancedEventEmitter_1 = require("./EnhancedEventEmitter");
|
|
6
|
-
const errors_1 = require("./errors");
|
|
7
|
-
const logger = new Logger_1.Logger('Consumer');
|
|
8
|
-
class Consumer extends EnhancedEventEmitter_1.EnhancedEventEmitter {
|
|
9
|
-
constructor({ id, localId, producerId, rtpReceiver, track, rtpParameters, appData }) {
|
|
10
|
-
super();
|
|
11
|
-
// Closed flag.
|
|
12
|
-
this._closed = false;
|
|
13
|
-
// Observer instance.
|
|
14
|
-
this._observer = new EnhancedEventEmitter_1.EnhancedEventEmitter();
|
|
15
|
-
logger.debug('constructor()');
|
|
16
|
-
this._id = id;
|
|
17
|
-
this._localId = localId;
|
|
18
|
-
this._producerId = producerId;
|
|
19
|
-
this._rtpReceiver = rtpReceiver;
|
|
20
|
-
this._track = track;
|
|
21
|
-
this._rtpParameters = rtpParameters;
|
|
22
|
-
this._paused = !track.enabled;
|
|
23
|
-
this._appData = appData || {};
|
|
24
|
-
this.onTrackEnded = this.onTrackEnded.bind(this);
|
|
25
|
-
this.handleTrack();
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Consumer id.
|
|
29
|
-
*/
|
|
30
|
-
get id() {
|
|
31
|
-
return this._id;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Local id.
|
|
35
|
-
*/
|
|
36
|
-
get localId() {
|
|
37
|
-
return this._localId;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Associated Producer id.
|
|
41
|
-
*/
|
|
42
|
-
get producerId() {
|
|
43
|
-
return this._producerId;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Whether the Consumer is closed.
|
|
47
|
-
*/
|
|
48
|
-
get closed() {
|
|
49
|
-
return this._closed;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Media kind.
|
|
53
|
-
*/
|
|
54
|
-
get kind() {
|
|
55
|
-
return this._track.kind;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Associated RTCRtpReceiver.
|
|
59
|
-
*/
|
|
60
|
-
get rtpReceiver() {
|
|
61
|
-
return this._rtpReceiver;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* The associated track.
|
|
65
|
-
*/
|
|
66
|
-
get track() {
|
|
67
|
-
return this._track;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* RTP parameters.
|
|
71
|
-
*/
|
|
72
|
-
get rtpParameters() {
|
|
73
|
-
return this._rtpParameters;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Whether the Consumer is paused.
|
|
77
|
-
*/
|
|
78
|
-
get paused() {
|
|
79
|
-
return this._paused;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* App custom data.
|
|
83
|
-
*/
|
|
84
|
-
get appData() {
|
|
85
|
-
return this._appData;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* App custom data setter.
|
|
89
|
-
*/
|
|
90
|
-
set appData(appData) {
|
|
91
|
-
this._appData = appData;
|
|
92
|
-
}
|
|
93
|
-
get observer() {
|
|
94
|
-
return this._observer;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Closes the Consumer.
|
|
98
|
-
*/
|
|
99
|
-
close() {
|
|
100
|
-
if (this._closed) {
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
logger.debug('close()');
|
|
104
|
-
this._closed = true;
|
|
105
|
-
this.destroyTrack();
|
|
106
|
-
this.emit('@close');
|
|
107
|
-
// Emit observer event.
|
|
108
|
-
this._observer.safeEmit('close');
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Transport was closed.
|
|
112
|
-
*/
|
|
113
|
-
transportClosed() {
|
|
114
|
-
if (this._closed) {
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
logger.debug('transportClosed()');
|
|
118
|
-
this._closed = true;
|
|
119
|
-
this.destroyTrack();
|
|
120
|
-
this.safeEmit('transportclose');
|
|
121
|
-
// Emit observer event.
|
|
122
|
-
this._observer.safeEmit('close');
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Get associated RTCRtpReceiver stats.
|
|
126
|
-
*/
|
|
127
|
-
async getStats() {
|
|
128
|
-
if (this._closed) {
|
|
129
|
-
throw new errors_1.InvalidStateError('closed');
|
|
130
|
-
}
|
|
131
|
-
return new Promise((resolve, reject) => {
|
|
132
|
-
this.safeEmit('@getstats', resolve, reject);
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Pauses receiving media.
|
|
137
|
-
*/
|
|
138
|
-
pause() {
|
|
139
|
-
logger.debug('pause()');
|
|
140
|
-
if (this._closed) {
|
|
141
|
-
logger.error('pause() | Consumer closed');
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
if (this._paused) {
|
|
145
|
-
logger.debug('pause() | Consumer is already paused');
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
|
-
this._paused = true;
|
|
149
|
-
this._track.enabled = false;
|
|
150
|
-
this.emit('@pause');
|
|
151
|
-
// Emit observer event.
|
|
152
|
-
this._observer.safeEmit('pause');
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Resumes receiving media.
|
|
156
|
-
*/
|
|
157
|
-
resume() {
|
|
158
|
-
logger.debug('resume()');
|
|
159
|
-
if (this._closed) {
|
|
160
|
-
logger.error('resume() | Consumer closed');
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
if (!this._paused) {
|
|
164
|
-
logger.debug('resume() | Consumer is already resumed');
|
|
165
|
-
return;
|
|
166
|
-
}
|
|
167
|
-
this._paused = false;
|
|
168
|
-
this._track.enabled = true;
|
|
169
|
-
this.emit('@resume');
|
|
170
|
-
// Emit observer event.
|
|
171
|
-
this._observer.safeEmit('resume');
|
|
172
|
-
}
|
|
173
|
-
onTrackEnded() {
|
|
174
|
-
logger.debug('track "ended" event');
|
|
175
|
-
this.safeEmit('trackended');
|
|
176
|
-
// Emit observer event.
|
|
177
|
-
this._observer.safeEmit('trackended');
|
|
178
|
-
}
|
|
179
|
-
handleTrack() {
|
|
180
|
-
this._track.addEventListener('ended', this.onTrackEnded);
|
|
181
|
-
}
|
|
182
|
-
destroyTrack() {
|
|
183
|
-
try {
|
|
184
|
-
this._track.removeEventListener('ended', this.onTrackEnded);
|
|
185
|
-
this._track.stop();
|
|
186
|
-
}
|
|
187
|
-
catch (error) { }
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
exports.Consumer = Consumer;
|
package/lib/DataConsumer.d.ts
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { EnhancedEventEmitter } from './EnhancedEventEmitter';
|
|
2
|
-
import { SctpStreamParameters } from './SctpParameters';
|
|
3
|
-
import { AppData } from './types';
|
|
4
|
-
export type DataConsumerOptions<DataConsumerAppData extends AppData = AppData> = {
|
|
5
|
-
id?: string;
|
|
6
|
-
dataProducerId?: string;
|
|
7
|
-
sctpStreamParameters: SctpStreamParameters;
|
|
8
|
-
label?: string;
|
|
9
|
-
protocol?: string;
|
|
10
|
-
appData?: DataConsumerAppData;
|
|
11
|
-
};
|
|
12
|
-
export type DataConsumerEvents = {
|
|
13
|
-
transportclose: [];
|
|
14
|
-
open: [];
|
|
15
|
-
error: [Error];
|
|
16
|
-
close: [];
|
|
17
|
-
message: [any];
|
|
18
|
-
'@close': [];
|
|
19
|
-
};
|
|
20
|
-
export type DataConsumerObserverEvents = {
|
|
21
|
-
close: [];
|
|
22
|
-
};
|
|
23
|
-
export declare class DataConsumer<DataConsumerAppData extends AppData = AppData> extends EnhancedEventEmitter<DataConsumerEvents> {
|
|
24
|
-
private readonly _id;
|
|
25
|
-
private readonly _dataProducerId;
|
|
26
|
-
private readonly _dataChannel;
|
|
27
|
-
private _closed;
|
|
28
|
-
private readonly _sctpStreamParameters;
|
|
29
|
-
private _appData;
|
|
30
|
-
protected readonly _observer: EnhancedEventEmitter<DataConsumerObserverEvents>;
|
|
31
|
-
constructor({ id, dataProducerId, dataChannel, sctpStreamParameters, appData }: {
|
|
32
|
-
id: string;
|
|
33
|
-
dataProducerId: string;
|
|
34
|
-
dataChannel: RTCDataChannel;
|
|
35
|
-
sctpStreamParameters: SctpStreamParameters;
|
|
36
|
-
appData?: DataConsumerAppData;
|
|
37
|
-
});
|
|
38
|
-
/**
|
|
39
|
-
* DataConsumer id.
|
|
40
|
-
*/
|
|
41
|
-
get id(): string;
|
|
42
|
-
/**
|
|
43
|
-
* Associated DataProducer id.
|
|
44
|
-
*/
|
|
45
|
-
get dataProducerId(): string;
|
|
46
|
-
/**
|
|
47
|
-
* Whether the DataConsumer is closed.
|
|
48
|
-
*/
|
|
49
|
-
get closed(): boolean;
|
|
50
|
-
/**
|
|
51
|
-
* SCTP stream parameters.
|
|
52
|
-
*/
|
|
53
|
-
get sctpStreamParameters(): SctpStreamParameters;
|
|
54
|
-
/**
|
|
55
|
-
* DataChannel readyState.
|
|
56
|
-
*/
|
|
57
|
-
get readyState(): RTCDataChannelState;
|
|
58
|
-
/**
|
|
59
|
-
* DataChannel label.
|
|
60
|
-
*/
|
|
61
|
-
get label(): string;
|
|
62
|
-
/**
|
|
63
|
-
* DataChannel protocol.
|
|
64
|
-
*/
|
|
65
|
-
get protocol(): string;
|
|
66
|
-
/**
|
|
67
|
-
* DataChannel binaryType.
|
|
68
|
-
*/
|
|
69
|
-
get binaryType(): BinaryType;
|
|
70
|
-
/**
|
|
71
|
-
* Set DataChannel binaryType.
|
|
72
|
-
*/
|
|
73
|
-
set binaryType(binaryType: BinaryType);
|
|
74
|
-
/**
|
|
75
|
-
* App custom data.
|
|
76
|
-
*/
|
|
77
|
-
get appData(): DataConsumerAppData;
|
|
78
|
-
/**
|
|
79
|
-
* App custom data setter.
|
|
80
|
-
*/
|
|
81
|
-
set appData(appData: DataConsumerAppData);
|
|
82
|
-
get observer(): EnhancedEventEmitter;
|
|
83
|
-
/**
|
|
84
|
-
* Closes the DataConsumer.
|
|
85
|
-
*/
|
|
86
|
-
close(): void;
|
|
87
|
-
/**
|
|
88
|
-
* Transport was closed.
|
|
89
|
-
*/
|
|
90
|
-
transportClosed(): void;
|
|
91
|
-
private handleDataChannel;
|
|
92
|
-
}
|
|
93
|
-
//# sourceMappingURL=DataConsumer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DataConsumer.d.ts","sourceRoot":"","sources":["../src/DataConsumer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIlC,MAAM,MAAM,mBAAmB,CAAC,mBAAmB,SAAS,OAAO,GAAG,OAAO,IAC7E;IACC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC9B;IACC,cAAc,EAAE,EAAE,CAAC;IACnB,IAAI,EAAE,EAAE,CAAC;IACT,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;IACf,KAAK,EAAE,EAAE,CAAC;IACV,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;IAEf,QAAQ,EAAE,EAAE,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,0BAA0B,GACtC;IACC,KAAK,EAAE,EAAE,CAAC;CACV,CAAC;AAEF,qBAAa,YAAY,CAAC,mBAAmB,SAAS,OAAO,GAAG,OAAO,CACtE,SAAQ,oBAAoB,CAAC,kBAAkB,CAAC;IAGhD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IAEzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiB;IAE9C,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuB;IAE7D,OAAO,CAAC,QAAQ,CAAsB;IAEtC,SAAS,CAAC,QAAQ,CAAC,SAAS,mDAA0D;gBAGrF,EACC,EAAE,EACF,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,OAAO,EACP,EACD;QACC,EAAE,EAAE,MAAM,CAAC;QACX,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,cAAc,CAAC;QAC5B,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,OAAO,CAAC,EAAE,mBAAmB,CAAC;KAC9B;IAgBF;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,CAGf;IAED;;OAEG;IACH,IAAI,cAAc,IAAI,MAAM,CAG3B;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAGpB;IAED;;OAEG;IACH,IAAI,oBAAoB,IAAI,oBAAoB,CAG/C;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,mBAAmB,CAGpC;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAGlB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAGrB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,UAAU,CAG3B;IAED;;OAEG;IACH,IAAI,UAAU,CAAC,UAAU,EAAE,UAAU,EAGpC;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,mBAAmB,CAGjC;IAED;;OAEG;IACH,IAAI,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAGvC;IAED,IAAI,QAAQ,IAAI,oBAAoB,CAGnC;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;IAmBb;;OAEG;IACH,eAAe,IAAI,IAAI;IAmBvB,OAAO,CAAC,iBAAiB;CAsEzB"}
|
package/lib/DataConsumer.js
DELETED
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DataConsumer = void 0;
|
|
4
|
-
const Logger_1 = require("./Logger");
|
|
5
|
-
const EnhancedEventEmitter_1 = require("./EnhancedEventEmitter");
|
|
6
|
-
const logger = new Logger_1.Logger('DataConsumer');
|
|
7
|
-
class DataConsumer extends EnhancedEventEmitter_1.EnhancedEventEmitter {
|
|
8
|
-
constructor({ id, dataProducerId, dataChannel, sctpStreamParameters, appData }) {
|
|
9
|
-
super();
|
|
10
|
-
// Closed flag.
|
|
11
|
-
this._closed = false;
|
|
12
|
-
// Observer instance.
|
|
13
|
-
this._observer = new EnhancedEventEmitter_1.EnhancedEventEmitter();
|
|
14
|
-
logger.debug('constructor()');
|
|
15
|
-
this._id = id;
|
|
16
|
-
this._dataProducerId = dataProducerId;
|
|
17
|
-
this._dataChannel = dataChannel;
|
|
18
|
-
this._sctpStreamParameters = sctpStreamParameters;
|
|
19
|
-
this._appData = appData || {};
|
|
20
|
-
this.handleDataChannel();
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* DataConsumer id.
|
|
24
|
-
*/
|
|
25
|
-
get id() {
|
|
26
|
-
return this._id;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Associated DataProducer id.
|
|
30
|
-
*/
|
|
31
|
-
get dataProducerId() {
|
|
32
|
-
return this._dataProducerId;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Whether the DataConsumer is closed.
|
|
36
|
-
*/
|
|
37
|
-
get closed() {
|
|
38
|
-
return this._closed;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* SCTP stream parameters.
|
|
42
|
-
*/
|
|
43
|
-
get sctpStreamParameters() {
|
|
44
|
-
return this._sctpStreamParameters;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* DataChannel readyState.
|
|
48
|
-
*/
|
|
49
|
-
get readyState() {
|
|
50
|
-
return this._dataChannel.readyState;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* DataChannel label.
|
|
54
|
-
*/
|
|
55
|
-
get label() {
|
|
56
|
-
return this._dataChannel.label;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* DataChannel protocol.
|
|
60
|
-
*/
|
|
61
|
-
get protocol() {
|
|
62
|
-
return this._dataChannel.protocol;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* DataChannel binaryType.
|
|
66
|
-
*/
|
|
67
|
-
get binaryType() {
|
|
68
|
-
return this._dataChannel.binaryType;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Set DataChannel binaryType.
|
|
72
|
-
*/
|
|
73
|
-
set binaryType(binaryType) {
|
|
74
|
-
this._dataChannel.binaryType = binaryType;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* App custom data.
|
|
78
|
-
*/
|
|
79
|
-
get appData() {
|
|
80
|
-
return this._appData;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* App custom data setter.
|
|
84
|
-
*/
|
|
85
|
-
set appData(appData) {
|
|
86
|
-
this._appData = appData;
|
|
87
|
-
}
|
|
88
|
-
get observer() {
|
|
89
|
-
return this._observer;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Closes the DataConsumer.
|
|
93
|
-
*/
|
|
94
|
-
close() {
|
|
95
|
-
if (this._closed) {
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
logger.debug('close()');
|
|
99
|
-
this._closed = true;
|
|
100
|
-
this._dataChannel.close();
|
|
101
|
-
this.emit('@close');
|
|
102
|
-
// Emit observer event.
|
|
103
|
-
this._observer.safeEmit('close');
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Transport was closed.
|
|
107
|
-
*/
|
|
108
|
-
transportClosed() {
|
|
109
|
-
if (this._closed) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
logger.debug('transportClosed()');
|
|
113
|
-
this._closed = true;
|
|
114
|
-
this._dataChannel.close();
|
|
115
|
-
this.safeEmit('transportclose');
|
|
116
|
-
// Emit observer event.
|
|
117
|
-
this._observer.safeEmit('close');
|
|
118
|
-
}
|
|
119
|
-
handleDataChannel() {
|
|
120
|
-
this._dataChannel.addEventListener('open', () => {
|
|
121
|
-
if (this._closed) {
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
logger.debug('DataChannel "open" event');
|
|
125
|
-
this.safeEmit('open');
|
|
126
|
-
});
|
|
127
|
-
this._dataChannel.addEventListener('error', (event) => {
|
|
128
|
-
if (this._closed) {
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
let { error } = event;
|
|
132
|
-
if (!error) {
|
|
133
|
-
error = new Error('unknown DataChannel error');
|
|
134
|
-
}
|
|
135
|
-
if (error.errorDetail === 'sctp-failure') {
|
|
136
|
-
logger.error('DataChannel SCTP error [sctpCauseCode:%s]: %s', error.sctpCauseCode, error.message);
|
|
137
|
-
}
|
|
138
|
-
else {
|
|
139
|
-
logger.error('DataChannel "error" event: %o', error);
|
|
140
|
-
}
|
|
141
|
-
this.safeEmit('error', error);
|
|
142
|
-
});
|
|
143
|
-
this._dataChannel.addEventListener('close', () => {
|
|
144
|
-
if (this._closed) {
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
logger.warn('DataChannel "close" event');
|
|
148
|
-
this._closed = true;
|
|
149
|
-
this.emit('@close');
|
|
150
|
-
this.safeEmit('close');
|
|
151
|
-
// Emit observer event.
|
|
152
|
-
this._observer.safeEmit('close');
|
|
153
|
-
});
|
|
154
|
-
this._dataChannel.addEventListener('message', (event) => {
|
|
155
|
-
if (this._closed) {
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
this.safeEmit('message', event.data);
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
exports.DataConsumer = DataConsumer;
|