mediasoup 3.9.0 → 3.9.1
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/node/lib/Worker.d.ts +1 -0
- package/node/lib/Worker.d.ts.map +1 -1
- package/node/lib/Worker.js +24 -5
- package/node/lib/index.d.ts +1 -1
- package/node/lib/index.js +1 -1
- package/npm-scripts.js +9 -22
- package/package.json +7 -8
- package/worker/Makefile +24 -9
- package/worker/src/RTC/Transport.cpp +6 -0
- package/worker/subprojects/libuv.wrap +7 -7
package/node/lib/Worker.d.ts
CHANGED
package/node/lib/Worker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../src/Worker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../src/Worker.ts"],"names":[],"mappings":"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"}
|
package/node/lib/Worker.js
CHANGED
|
@@ -92,7 +92,7 @@ class Worker extends EnhancedEventEmitter_1.EnhancedEventEmitter {
|
|
|
92
92
|
// options
|
|
93
93
|
{
|
|
94
94
|
env: {
|
|
95
|
-
MEDIASOUP_VERSION: '3.9.
|
|
95
|
+
MEDIASOUP_VERSION: '3.9.1',
|
|
96
96
|
// Let the worker process inherit all environment variables, useful
|
|
97
97
|
// if a custom and not in the path GCC is used so the user can set
|
|
98
98
|
// LD_LIBRARY_PATH environment variable for runtime.
|
|
@@ -134,34 +134,35 @@ class Worker extends EnhancedEventEmitter_1.EnhancedEventEmitter {
|
|
|
134
134
|
});
|
|
135
135
|
__classPrivateFieldGet(this, _child).on('exit', (code, signal) => {
|
|
136
136
|
__classPrivateFieldSet(this, _child, undefined);
|
|
137
|
-
this.close();
|
|
138
137
|
if (!spawnDone) {
|
|
139
138
|
spawnDone = true;
|
|
140
139
|
if (code === 42) {
|
|
141
140
|
logger.error('worker process failed due to wrong settings [pid:%s]', __classPrivateFieldGet(this, _pid));
|
|
141
|
+
this.close();
|
|
142
142
|
this.emit('@failure', new TypeError('wrong settings'));
|
|
143
143
|
}
|
|
144
144
|
else {
|
|
145
145
|
logger.error('worker process failed unexpectedly [pid:%s, code:%s, signal:%s]', __classPrivateFieldGet(this, _pid), code, signal);
|
|
146
|
+
this.close();
|
|
146
147
|
this.emit('@failure', new Error(`[pid:${__classPrivateFieldGet(this, _pid)}, code:${code}, signal:${signal}]`));
|
|
147
148
|
}
|
|
148
149
|
}
|
|
149
150
|
else {
|
|
150
151
|
logger.error('worker process died unexpectedly [pid:%s, code:%s, signal:%s]', __classPrivateFieldGet(this, _pid), code, signal);
|
|
151
|
-
this.
|
|
152
|
+
this.died(new Error(`[pid:${__classPrivateFieldGet(this, _pid)}, code:${code}, signal:${signal}]`));
|
|
152
153
|
}
|
|
153
154
|
});
|
|
154
155
|
__classPrivateFieldGet(this, _child).on('error', (error) => {
|
|
155
156
|
__classPrivateFieldSet(this, _child, undefined);
|
|
156
|
-
this.close();
|
|
157
157
|
if (!spawnDone) {
|
|
158
158
|
spawnDone = true;
|
|
159
159
|
logger.error('worker process failed [pid:%s]: %s', __classPrivateFieldGet(this, _pid), error.message);
|
|
160
|
+
this.close();
|
|
160
161
|
this.emit('@failure', error);
|
|
161
162
|
}
|
|
162
163
|
else {
|
|
163
164
|
logger.error('worker process error [pid:%s]: %s', __classPrivateFieldGet(this, _pid), error.message);
|
|
164
|
-
this.
|
|
165
|
+
this.died(error);
|
|
165
166
|
}
|
|
166
167
|
});
|
|
167
168
|
// Be ready for 3rd party worker libraries logging to stdout.
|
|
@@ -296,6 +297,24 @@ class Worker extends EnhancedEventEmitter_1.EnhancedEventEmitter {
|
|
|
296
297
|
__classPrivateFieldGet(this, _observer).safeEmit('newrouter', router);
|
|
297
298
|
return router;
|
|
298
299
|
}
|
|
300
|
+
died(error) {
|
|
301
|
+
if (__classPrivateFieldGet(this, _closed))
|
|
302
|
+
return;
|
|
303
|
+
logger.debug(`died() [error:${error}]`);
|
|
304
|
+
__classPrivateFieldSet(this, _closed, true);
|
|
305
|
+
// Close the Channel instance.
|
|
306
|
+
__classPrivateFieldGet(this, _channel).close();
|
|
307
|
+
// Close the PayloadChannel instance.
|
|
308
|
+
__classPrivateFieldGet(this, _payloadChannel).close();
|
|
309
|
+
// Close every Router.
|
|
310
|
+
for (const router of __classPrivateFieldGet(this, _routers)) {
|
|
311
|
+
router.workerClosed();
|
|
312
|
+
}
|
|
313
|
+
__classPrivateFieldGet(this, _routers).clear();
|
|
314
|
+
this.safeEmit('died', error);
|
|
315
|
+
// Emit observer event.
|
|
316
|
+
__classPrivateFieldGet(this, _observer).safeEmit('close');
|
|
317
|
+
}
|
|
299
318
|
}
|
|
300
319
|
exports.Worker = Worker;
|
|
301
320
|
_child = new WeakMap(), _pid = new WeakMap(), _channel = new WeakMap(), _payloadChannel = new WeakMap(), _closed = new WeakMap(), _appData = new WeakMap(), _routers = new WeakMap(), _observer = new WeakMap();
|
package/node/lib/index.d.ts
CHANGED
package/node/lib/index.js
CHANGED
package/npm-scripts.js
CHANGED
|
@@ -59,18 +59,14 @@ switch (task)
|
|
|
59
59
|
|
|
60
60
|
case 'worker:build':
|
|
61
61
|
{
|
|
62
|
-
|
|
63
|
-
{
|
|
64
|
-
execute(`${MAKE} -C worker`);
|
|
65
|
-
}
|
|
62
|
+
execute(`${MAKE} -C worker`);
|
|
66
63
|
|
|
67
64
|
break;
|
|
68
65
|
}
|
|
69
66
|
|
|
70
67
|
case 'lint:node':
|
|
71
68
|
{
|
|
72
|
-
execute('
|
|
73
|
-
execute('cross-env MEDIASOUP_NODE_LANGUAGE=javascript eslint -c node/.eslintrc.js --max-warnings 0 --ext=js --ignore-pattern \'!node/.eslintrc.js\' node/.eslintrc.js npm-scripts.js node/tests/ worker/scripts/gulpfile.js');
|
|
69
|
+
execute('eslint -c node/.eslintrc.js --max-warnings 0 node/src/ node/.eslintrc.js npm-scripts.js node/tests/ worker/scripts/gulpfile.js');
|
|
74
70
|
|
|
75
71
|
break;
|
|
76
72
|
}
|
|
@@ -122,9 +118,12 @@ switch (task)
|
|
|
122
118
|
|
|
123
119
|
case 'postinstall':
|
|
124
120
|
{
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
121
|
+
if (!process.env.MEDIASOUP_WORKER_BIN)
|
|
122
|
+
{
|
|
123
|
+
execute('node npm-scripts.js worker:build');
|
|
124
|
+
execute(`${MAKE} clean-pip -C worker`);
|
|
125
|
+
execute(`${MAKE} clean-subprojects -C worker`);
|
|
126
|
+
}
|
|
128
127
|
|
|
129
128
|
break;
|
|
130
129
|
}
|
|
@@ -180,19 +179,7 @@ function execute(command)
|
|
|
180
179
|
|
|
181
180
|
try
|
|
182
181
|
{
|
|
183
|
-
|
|
184
|
-
const env = isWindows ? {
|
|
185
|
-
CC : process.env.CC || 'cl',
|
|
186
|
-
CXX : process.env.CXX || 'cl',
|
|
187
|
-
...process.env
|
|
188
|
-
} : process.env;
|
|
189
|
-
|
|
190
|
-
execSync(
|
|
191
|
-
command,
|
|
192
|
-
{
|
|
193
|
-
env : env,
|
|
194
|
-
stdio : [ 'ignore', process.stdout, process.stderr ]
|
|
195
|
-
});
|
|
182
|
+
execSync(command, { stdio: [ 'ignore', process.stdout, process.stderr ] });
|
|
196
183
|
}
|
|
197
184
|
catch (error)
|
|
198
185
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mediasoup",
|
|
3
|
-
"version": "3.9.
|
|
3
|
+
"version": "3.9.1",
|
|
4
4
|
"description": "Cutting Edge WebRTC Video Conferencing",
|
|
5
5
|
"contributors": [
|
|
6
6
|
"Iñaki Baz Castillo <ibc@aliax.net> (https://inakibaz.me)",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"testRegex": "node/tests/test.*\\.js"
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@types/node": "^16.
|
|
72
|
+
"@types/node": "^16.11.6",
|
|
73
73
|
"awaitqueue": "^2.3.3",
|
|
74
74
|
"debug": "^4.3.2",
|
|
75
75
|
"h264-profile-level-id": "^1.0.1",
|
|
@@ -81,12 +81,11 @@
|
|
|
81
81
|
"@types/debug": "^4.1.7",
|
|
82
82
|
"@types/random-number": "^0.0.1",
|
|
83
83
|
"@types/uuid": "^8.3.1",
|
|
84
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
85
|
-
"@typescript-eslint/parser": "^
|
|
86
|
-
"
|
|
87
|
-
"eslint": "^
|
|
88
|
-
"
|
|
89
|
-
"jest": "^27.2.5",
|
|
84
|
+
"@typescript-eslint/eslint-plugin": "^5.2.0",
|
|
85
|
+
"@typescript-eslint/parser": "^5.2.0",
|
|
86
|
+
"eslint": "^8.1.0",
|
|
87
|
+
"eslint-plugin-jest": "^25.2.2",
|
|
88
|
+
"jest": "^27.3.1",
|
|
90
89
|
"jest-tobetype": "^1.2.3",
|
|
91
90
|
"open-cli": "^7.0.1",
|
|
92
91
|
"pick-port": "^1.0.0",
|
package/worker/Makefile
CHANGED
|
@@ -14,6 +14,9 @@ DOCKER ?= docker
|
|
|
14
14
|
PIP_DIR = $(MEDIASOUP_OUT_DIR)/pip
|
|
15
15
|
MESON ?= $(PIP_DIR)/bin/meson
|
|
16
16
|
MESON_ARGS ?= ""
|
|
17
|
+
# Workaround for NixOS and Guix that don't work with pre-built binaries, see:
|
|
18
|
+
# https://github.com/NixOS/nixpkgs/issues/142383.
|
|
19
|
+
PIP_BUILD_BINARIES = $(shell [ -f /etc/NIXOS -o -d /etc/guix ] && echo "--no-binary :all:")
|
|
17
20
|
|
|
18
21
|
# Disable `*.pyc` files creation.
|
|
19
22
|
export PYTHONDONTWRITEBYTECODE = 1
|
|
@@ -22,10 +25,17 @@ ifeq ($(OS),Windows_NT)
|
|
|
22
25
|
# Windows is, of course, special.
|
|
23
26
|
export NINJA = $(PIP_DIR)/bin/ninja.exe
|
|
24
27
|
else
|
|
25
|
-
|
|
28
|
+
export NINJA = $(PIP_DIR)/bin/ninja
|
|
29
|
+
endif
|
|
30
|
+
|
|
31
|
+
# Instruct Python where to look for modules it needs, such that `meson` actually
|
|
32
|
+
# runs from installed location.
|
|
33
|
+
# For some reason on Windows adding `:${PYTHONPATH}` breaks things.
|
|
34
|
+
ifeq ($(OS),Windows_NT)
|
|
35
|
+
export PYTHONPATH := $(PIP_DIR)
|
|
36
|
+
else
|
|
37
|
+
export PYTHONPATH := $(PIP_DIR):${PYTHONPATH}
|
|
26
38
|
endif
|
|
27
|
-
# Instruct Python where to look for modules it needs, such that `meson` actually runs from installed location.
|
|
28
|
-
export PYTHONPATH = $(PIP_DIR)
|
|
29
39
|
|
|
30
40
|
.PHONY: \
|
|
31
41
|
default meson-ninja setup clean clean-pip clean-subprojects clean-all mediasoup-worker xcode lint format test tidy \
|
|
@@ -36,17 +46,21 @@ default: mediasoup-worker
|
|
|
36
46
|
meson-ninja:
|
|
37
47
|
ifeq ($(wildcard $(PIP_DIR)),)
|
|
38
48
|
# Updated pip and setuptools are needed for meson
|
|
39
|
-
# `--system` is not present everywhere and is only needed as workaround for
|
|
40
|
-
#
|
|
49
|
+
# `--system` is not present everywhere and is only needed as workaround for
|
|
50
|
+
# Debian-specific issue (copied from
|
|
51
|
+
# https://github.com/gluster/gstatus/pull/33), fallback to command without
|
|
52
|
+
# `--system` if the first one fails.
|
|
41
53
|
$(PYTHON) -m pip install --system --target=$(PIP_DIR) pip setuptools || \
|
|
42
54
|
$(PYTHON) -m pip install --target=$(PIP_DIR) pip setuptools || \
|
|
43
55
|
echo "Installation failed, likely because PIP is unavailable, if you are on Debian/Ubuntu or derivative please install the python3-pip package"
|
|
44
|
-
# Install `meson` and `ninja` using `pip` into custom location, so we don't
|
|
45
|
-
|
|
56
|
+
# Install `meson` and `ninja` using `pip` into custom location, so we don't
|
|
57
|
+
# depend on system-wide installation.
|
|
58
|
+
$(PYTHON) -m pip install --upgrade --target=$(PIP_DIR) $(PIP_BUILD_BINARIES) meson ninja
|
|
46
59
|
endif
|
|
47
60
|
|
|
48
61
|
setup: meson-ninja
|
|
49
|
-
# We try to call `--reconfigure` first as a workaround for
|
|
62
|
+
# We try to call `--reconfigure` first as a workaround for this issue:
|
|
63
|
+
# https://github.com/ninja-build/ninja/issues/1997
|
|
50
64
|
ifeq ($(MEDIASOUP_BUILDTYPE),Release)
|
|
51
65
|
$(MESON) setup \
|
|
52
66
|
--buildtype release \
|
|
@@ -126,7 +140,8 @@ format:
|
|
|
126
140
|
test: setup
|
|
127
141
|
ifeq ($(MEDIASOUP_WORKER_BIN),)
|
|
128
142
|
$(MESON) compile -j $(CORES) -C $(MEDIASOUP_OUT_DIR)/$(MEDIASOUP_BUILDTYPE) mediasoup-worker-test
|
|
129
|
-
# On Windows lcov doesn't work (at least not yet) and we need to add `.exe` to
|
|
143
|
+
# On Windows lcov doesn't work (at least not yet) and we need to add `.exe` to
|
|
144
|
+
# the binary path.
|
|
130
145
|
ifeq ($(OS),Windows_NT)
|
|
131
146
|
$(MEDIASOUP_OUT_DIR)/$(MEDIASOUP_BUILDTYPE)/mediasoup-worker-test.exe --invisibles --use-colour=yes $(MEDIASOUP_TEST_TAGS)
|
|
132
147
|
else
|
|
@@ -1931,6 +1931,12 @@ namespace RTC
|
|
|
1931
1931
|
continue;
|
|
1932
1932
|
}
|
|
1933
1933
|
|
|
1934
|
+
// Special case for (unused) RTCP-RR from the RTX stream.
|
|
1935
|
+
if (GetConsumerByRtxSsrc(report->GetSsrc()) != nullptr)
|
|
1936
|
+
{
|
|
1937
|
+
continue;
|
|
1938
|
+
}
|
|
1939
|
+
|
|
1934
1940
|
MS_DEBUG_TAG(
|
|
1935
1941
|
rtcp,
|
|
1936
1942
|
"no Consumer found for received Receiver Report [ssrc:%" PRIu32 "]",
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
[wrap-file]
|
|
2
|
-
directory = libuv-v1.
|
|
3
|
-
source_url = https://dist.libuv.org/dist/v1.
|
|
4
|
-
source_filename = libuv-v1.
|
|
5
|
-
source_hash =
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
patch_hash =
|
|
2
|
+
directory = libuv-v1.42.0
|
|
3
|
+
source_url = https://dist.libuv.org/dist/v1.42.0/libuv-v1.42.0.tar.gz
|
|
4
|
+
source_filename = libuv-v1.42.0.tar.gz
|
|
5
|
+
source_hash = 43129625155a8aed796ebe90b8d4c990a73985ec717de2b2d5d3a23cfe4deb72
|
|
6
|
+
patch_filename = libuv_1.42.0-1_patch.zip
|
|
7
|
+
patch_url = https://wrapdb.mesonbuild.com/v2/libuv_1.42.0-1/get_patch
|
|
8
|
+
patch_hash = 891698d781bc68379b799e47bc7e100698f03985b6db5d1ddc4eaa9be42a8f35
|
|
9
9
|
|
|
10
10
|
[provide]
|
|
11
11
|
libuv = libuv_dep
|