mediasoup 3.19.10 → 3.19.12
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 +2 -2
- package/node/lib/Worker.d.ts.map +1 -1
- package/node/lib/Worker.js +13 -12
- package/node/lib/WorkerTypes.d.ts +10 -4
- package/node/lib/WorkerTypes.d.ts.map +1 -1
- package/node/lib/index.d.ts +3 -3
- package/node/lib/index.d.ts.map +1 -1
- package/node/lib/index.js +7 -4
- package/node/lib/test/test-Worker.js +9 -2
- package/npm-scripts.mjs +1 -0
- package/package.json +5 -5
- package/worker/include/RTC/Codecs/DependencyDescriptor.hpp +7 -2
- package/worker/include/RTC/Codecs/PayloadDescriptorHandler.hpp +1 -1
- package/worker/include/RTC/RTCP/Feedback.hpp +4 -4
- package/worker/include/RTC/RTCP/FeedbackPsFir.hpp +1 -1
- package/worker/include/RTC/RTCP/FeedbackPsLei.hpp +1 -1
- package/worker/include/RTC/RTCP/FeedbackPsTst.hpp +1 -1
- package/worker/include/RTC/RTCP/FeedbackPsVbcm.hpp +2 -2
- package/worker/include/RTC/RTCP/FeedbackRtpEcn.hpp +7 -7
- package/worker/include/RTC/RTCP/FeedbackRtpNack.hpp +2 -2
- package/worker/include/RTC/RTCP/FeedbackRtpTllei.hpp +2 -2
- package/worker/include/RTC/RTCP/ReceiverReport.hpp +10 -10
- package/worker/include/RTC/RTCP/SenderReport.hpp +12 -12
- package/worker/include/RTC/RTCP/XrDelaySinceLastRr.hpp +6 -6
- package/worker/include/RTC/RTCP/XrReceiverReferenceTime.hpp +4 -4
- package/worker/include/RTC/RtpPacket.hpp +7 -7
- package/worker/include/RTC/SCTP/packet/ErrorCause.hpp +2 -3
- package/worker/include/RTC/SCTP/packet/Packet.hpp +4 -4
- package/worker/include/RTC/SCTP/packet/Parameter.hpp +2 -3
- package/worker/include/RTC/SrtpSession.hpp +1 -1
- package/worker/scripts/clang-format.mjs +1 -5
- package/worker/scripts/package-lock.json +17 -647
- package/worker/scripts/package.json +1 -1
- package/worker/src/RTC/Codecs/DependencyDescriptor.cpp +3 -4
- package/worker/src/RTC/Codecs/H264.cpp +2 -0
- package/worker/src/RTC/Codecs/Opus.cpp +1 -1
- package/worker/src/RTC/Codecs/VP8.cpp +13 -15
- package/worker/src/RTC/Codecs/VP9.cpp +2 -2
- package/worker/src/RTC/DtlsTransport.cpp +4 -1
- package/worker/src/RTC/NackGenerator.cpp +5 -7
- package/worker/src/RTC/PipeConsumer.cpp +1 -1
- package/worker/src/RTC/PipeTransport.cpp +1 -0
- package/worker/src/RTC/PlainTransport.cpp +6 -2
- package/worker/src/RTC/Producer.cpp +3 -4
- package/worker/src/RTC/RTCP/CompoundPacket.cpp +1 -1
- package/worker/src/RTC/RTCP/Feedback.cpp +3 -4
- package/worker/src/RTC/RTCP/FeedbackPsAfb.cpp +1 -1
- package/worker/src/RTC/RTCP/FeedbackPsFir.cpp +1 -1
- package/worker/src/RTC/RTCP/FeedbackPsLei.cpp +1 -1
- package/worker/src/RTC/RTCP/FeedbackPsRemb.cpp +4 -4
- package/worker/src/RTC/RTCP/FeedbackPsSli.cpp +2 -2
- package/worker/src/RTC/RTCP/FeedbackPsTst.cpp +1 -1
- package/worker/src/RTC/RTCP/FeedbackPsVbcm.cpp +2 -2
- package/worker/src/RTC/RTCP/FeedbackRtpNack.cpp +3 -3
- package/worker/src/RTC/RTCP/FeedbackRtpTllei.cpp +2 -2
- package/worker/src/RTC/RTCP/FeedbackRtpTmmb.cpp +1 -1
- package/worker/src/RTC/RTCP/FeedbackRtpTransport.cpp +1 -0
- package/worker/src/RTC/RTCP/Packet.cpp +1 -1
- package/worker/src/RTC/RTCP/ReceiverReport.cpp +1 -1
- package/worker/src/RTC/RTCP/Sdes.cpp +1 -1
- package/worker/src/RTC/RTCP/SenderReport.cpp +1 -1
- package/worker/src/RTC/RTCP/XrDelaySinceLastRr.cpp +1 -1
- package/worker/src/RTC/RtpDictionaries/RtpCodecParameters.cpp +4 -4
- package/worker/src/RTC/RtpDictionaries/RtpEncodingParameters.cpp +7 -7
- package/worker/src/RTC/RtpDictionaries/RtpParameters.cpp +5 -5
- package/worker/src/RTC/RtpListener.cpp +54 -21
- package/worker/src/RTC/RtpPacket.cpp +7 -7
- package/worker/src/RTC/SCTP/association/StateCookie.cpp +6 -6
- package/worker/src/RTC/SCTP/packet/Chunk.cpp +10 -10
- package/worker/src/RTC/SCTP/packet/Packet.cpp +10 -10
- package/worker/src/RTC/SCTP/packet/TLV.cpp +1 -1
- package/worker/src/RTC/SctpDictionaries/SctpStreamParameters.cpp +6 -6
- package/worker/src/RTC/SimpleConsumer.cpp +1 -1
- package/worker/src/RTC/SimulcastConsumer.cpp +9 -6
- package/worker/src/RTC/SvcConsumer.cpp +6 -4
- package/worker/src/RTC/Transport.cpp +5 -4
- package/worker/src/RTC/TransportCongestionControlServer.cpp +2 -2
- package/worker/src/RTC/TransportTuple.cpp +6 -6
- package/worker/src/RTC/WebRtcServer.cpp +1 -1
- package/worker/src/RTC/WebRtcTransport.cpp +1 -1
- package/worker/src/Utils/BitStream.cpp +8 -8
- package/worker/src/Utils/Crypto.cpp +5 -5
- package/worker/src/Utils/IP.cpp +2 -4
- package/worker/src/Worker.cpp +2 -2
- package/worker/src/handles/TcpConnectionHandle.cpp +9 -5
- package/worker/src/handles/UnixStreamSocketHandle.cpp +9 -5
- package/worker/test/src/RTC/TestRtpStreamRecv.cpp +3 -3
package/node/lib/Worker.d.ts
CHANGED
|
@@ -3,10 +3,10 @@ import type { Worker, WorkerSettings, WorkerUpdateableSettings, WorkerResourceUs
|
|
|
3
3
|
import type { WebRtcServer, WebRtcServerOptions } from './WebRtcServerTypes';
|
|
4
4
|
import type { Router, RouterOptions } from './RouterTypes';
|
|
5
5
|
import type { AppData } from './types';
|
|
6
|
-
export declare const
|
|
6
|
+
export declare const defaultWorkerBin: string;
|
|
7
7
|
export declare class WorkerImpl<WorkerAppData extends AppData = AppData> extends EnhancedEventEmitter<WorkerEvents> implements Worker {
|
|
8
8
|
#private;
|
|
9
|
-
constructor({ logLevel, logTags, rtcMinPort, rtcMaxPort, dtlsCertificateFile, dtlsPrivateKeyFile, libwebrtcFieldTrials, disableLiburing, appData, }: WorkerSettings<WorkerAppData>);
|
|
9
|
+
constructor({ logLevel, logTags, rtcMinPort, rtcMaxPort, dtlsCertificateFile, dtlsPrivateKeyFile, workerBin, libwebrtcFieldTrials, disableLiburing, appData, }: WorkerSettings<WorkerAppData>);
|
|
10
10
|
get pid(): number;
|
|
11
11
|
get closed(): boolean;
|
|
12
12
|
get died(): boolean;
|
package/node/lib/Worker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../src/Worker.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,KAAK,EACX,MAAM,EACN,cAAc,EACd,wBAAwB,EACxB,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,cAAc,EAEd,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAM3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAUvC,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"Worker.d.ts","sourceRoot":"","sources":["../src/Worker.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,KAAK,EACX,MAAM,EACN,cAAc,EACd,wBAAwB,EACxB,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,cAAc,EAEd,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAM3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAUvC,eAAO,MAAM,gBAAgB,EAAE,MAA8B,CAAC;AAE9D,qBAAa,UAAU,CAAC,aAAa,SAAS,OAAO,GAAG,OAAO,CAC9D,SAAQ,oBAAoB,CAAC,YAAY,CACzC,YAAW,MAAM;;gBAiCL,EACX,QAAQ,EACR,OAAO,EACP,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,OAAO,GACP,EAAE,cAAc,CAAC,aAAa,CAAC;IA6MhC,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,IAAI,OAAO,IAAI,aAAa,CAE3B;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,aAAa,EAEjC;IAED,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED;;OAEG;IACH,IAAI,uBAAuB,IAAI,GAAG,CAAC,YAAY,CAAC,CAE/C;IAED;;OAEG;IACH,IAAI,iBAAiB,IAAI,GAAG,CAAC,MAAM,CAAC,CAEnC;IAED,KAAK,IAAI,IAAI;IA0CP,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAc3B,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAkChD,cAAc,CAAC,EACpB,QAAQ,EACR,OAAO,GACP,GAAE,wBAAwB,CAAC,aAAa,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzD,kBAAkB,CAAC,mBAAmB,SAAS,OAAO,GAAG,OAAO,EAAE,EACvE,WAAW,EACX,OAAO,GACP,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,GAAG,OAAO,CACpD,YAAY,CAAC,mBAAmB,CAAC,CACjC;IA0DK,YAAY,CAAC,aAAa,SAAS,OAAO,GAAG,OAAO,EAAE,EAC3D,WAAW,EACX,OAAO,GACP,GAAE,aAAa,CAAC,aAAa,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAgDrE,OAAO,CAAC,UAAU;IAmClB,OAAO,CAAC,mBAAmB;CAQ3B"}
|
package/node/lib/Worker.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WorkerImpl = exports.
|
|
3
|
+
exports.WorkerImpl = exports.defaultWorkerBin = void 0;
|
|
4
4
|
const process = require("node:process");
|
|
5
5
|
const path = require("node:path");
|
|
6
6
|
const node_child_process_1 = require("node:child_process");
|
|
@@ -21,7 +21,7 @@ const FbsTransport = require("./fbs/transport");
|
|
|
21
21
|
const protocol_1 = require("./fbs/transport/protocol");
|
|
22
22
|
const logger = new Logger_1.Logger('Worker');
|
|
23
23
|
const workerLogger = new Logger_1.Logger('Worker');
|
|
24
|
-
exports.
|
|
24
|
+
exports.defaultWorkerBin = getDefaultWorkerBin();
|
|
25
25
|
class WorkerImpl extends enhancedEvents_1.EnhancedEventEmitter {
|
|
26
26
|
// mediasoup-worker child process.
|
|
27
27
|
#child;
|
|
@@ -43,17 +43,18 @@ class WorkerImpl extends enhancedEvents_1.EnhancedEventEmitter {
|
|
|
43
43
|
#routers = new Set();
|
|
44
44
|
// Observer instance.
|
|
45
45
|
#observer = new enhancedEvents_1.EnhancedEventEmitter();
|
|
46
|
-
constructor({ logLevel, logTags, rtcMinPort, rtcMaxPort, dtlsCertificateFile, dtlsPrivateKeyFile, libwebrtcFieldTrials, disableLiburing, appData, }) {
|
|
46
|
+
constructor({ logLevel, logTags, rtcMinPort, rtcMaxPort, dtlsCertificateFile, dtlsPrivateKeyFile, workerBin, libwebrtcFieldTrials, disableLiburing, appData, }) {
|
|
47
47
|
super();
|
|
48
48
|
logger.debug('constructor()');
|
|
49
|
-
|
|
49
|
+
workerBin = workerBin ?? exports.defaultWorkerBin;
|
|
50
|
+
let spawnBin = workerBin;
|
|
50
51
|
let spawnArgs = [];
|
|
51
52
|
if (process.env['MEDIASOUP_USE_VALGRIND'] === 'true') {
|
|
52
53
|
spawnBin = process.env['MEDIASOUP_VALGRIND_BIN'] ?? 'valgrind';
|
|
53
54
|
if (process.env['MEDIASOUP_VALGRIND_OPTIONS']) {
|
|
54
55
|
spawnArgs = spawnArgs.concat(process.env['MEDIASOUP_VALGRIND_OPTIONS'].split(/\s+/));
|
|
55
56
|
}
|
|
56
|
-
spawnArgs.push(
|
|
57
|
+
spawnArgs.push(workerBin);
|
|
57
58
|
}
|
|
58
59
|
if (typeof logLevel === 'string' && logLevel) {
|
|
59
60
|
spawnArgs.push(`--logLevel=${logLevel}`);
|
|
@@ -153,7 +154,7 @@ class WorkerImpl extends enhancedEvents_1.EnhancedEventEmitter {
|
|
|
153
154
|
spawnDone = true;
|
|
154
155
|
logger.error(`worker process failed [pid:${this.#pid}]: ${error.message}`);
|
|
155
156
|
this.close();
|
|
156
|
-
this.emit('@failure', error);
|
|
157
|
+
this.emit('@failure', new Error(error.message));
|
|
157
158
|
}
|
|
158
159
|
else {
|
|
159
160
|
logger.error(`worker process error [pid:${this.#pid}]: ${error.message}`);
|
|
@@ -397,10 +398,10 @@ function parseWorkerDumpResponse(binary) {
|
|
|
397
398
|
}
|
|
398
399
|
return dump;
|
|
399
400
|
}
|
|
400
|
-
function
|
|
401
|
+
function getDefaultWorkerBin() {
|
|
401
402
|
// If MEDIASOUP_WORKER_BIN env is given, use it as worker binary.
|
|
402
403
|
if (process.env['MEDIASOUP_WORKER_BIN']) {
|
|
403
|
-
logger.debug(`
|
|
404
|
+
logger.debug(`getDefaultWorkerBin() | using MEDIASOUP_WORKER_BIN environment variable: ${process.env['MEDIASOUP_WORKER_BIN']}`);
|
|
404
405
|
return process.env['MEDIASOUP_WORKER_BIN'];
|
|
405
406
|
}
|
|
406
407
|
// Obtain the path of the mediasoup module.
|
|
@@ -414,14 +415,14 @@ function getWorkerBin() {
|
|
|
414
415
|
mediasoupModulePath = path.join(path.dirname(mediasoupModulePath), '..', '..');
|
|
415
416
|
}
|
|
416
417
|
catch (error) {
|
|
417
|
-
logger.warn(`
|
|
418
|
+
logger.warn(`getDefaultWorkerBin() | require.resolve('mediasoup') failed, using __dirname: ${error}`);
|
|
418
419
|
// mediasoup module path is two folders above this file.
|
|
419
420
|
mediasoupModulePath = path.join(__dirname, '..', '..');
|
|
420
421
|
}
|
|
421
422
|
// If env MEDIASOUP_BUILDTYPE is 'Debug' use the Debug binary. Otherwise use
|
|
422
423
|
// the Release binary.
|
|
423
424
|
const buildType = process.env['MEDIASOUP_BUILDTYPE'] === 'Debug' ? 'Debug' : 'Release';
|
|
424
|
-
const
|
|
425
|
-
logger.debug(`
|
|
426
|
-
return
|
|
425
|
+
const defaultWorkerBinPath = path.join(mediasoupModulePath, 'worker', 'out', buildType, 'mediasoup-worker');
|
|
426
|
+
logger.debug(`getDefaultWorkerBin() | detected worker binary path: ${defaultWorkerBinPath}`);
|
|
427
|
+
return defaultWorkerBinPath;
|
|
427
428
|
}
|
|
@@ -27,15 +27,21 @@ export type WorkerSettings<WorkerAppData extends AppData = AppData> = {
|
|
|
27
27
|
*/
|
|
28
28
|
rtcMaxPort?: number;
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
31
|
-
* certificate is dynamically created.
|
|
30
|
+
* Absolute path to the DTLS public certificate file in PEM format. If unset,
|
|
31
|
+
* a certificate is dynamically created.
|
|
32
32
|
*/
|
|
33
33
|
dtlsCertificateFile?: string;
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
36
|
-
* certificate is dynamically created.
|
|
35
|
+
* Absolute path to the DTLS certificate private key file in PEM format. If
|
|
36
|
+
* unset, a certificate is dynamically created.
|
|
37
37
|
*/
|
|
38
38
|
dtlsPrivateKeyFile?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Absolute path to the mediasoup-worker binary. If given it overrides the
|
|
41
|
+
* default location of the binary and the MEDIASOUP_WORKER_BIN environment
|
|
42
|
+
* variable.
|
|
43
|
+
*/
|
|
44
|
+
workerBin?: string;
|
|
39
45
|
/**
|
|
40
46
|
* Field trials for libwebrtc.
|
|
41
47
|
* @private
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkerTypes.d.ts","sourceRoot":"","sources":["../src/WorkerTypes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WorkerTypes.d.ts","sourceRoot":"","sources":["../src/WorkerTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjE,MAAM,MAAM,YAAY,GACrB,MAAM,GACN,KAAK,GACL,MAAM,GACN,KAAK,GACL,MAAM,GACN,MAAM,GACN,KAAK,GACL,KAAK,GACL,OAAO,GACP,WAAW,GACX,KAAK,GACL,MAAM,GACN,SAAS,CAAC;AAEb,MAAM,MAAM,cAAc,CAAC,aAAa,SAAS,OAAO,GAAG,OAAO,IAAI;IACrE;;;;OAIG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IAEzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,IAAI,IAAI,CACvE,cAAc,CAAC,CAAC,CAAC,EACjB,UAAU,GAAG,SAAS,CACtB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG;IACjC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,sBAAsB,EAAE;QACvB,sBAAsB,EAAE,MAAM,EAAE,CAAC;QACjC,2BAA2B,EAAE,MAAM,EAAE,CAAC;KACtC,CAAC;IACF,QAAQ,CAAC,EAAE;QACV,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;IACd,eAAe,EAAE,EAAE,CAAC;IAEpB,UAAU,EAAE,EAAE,CAAC;IACf,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;AAExE,MAAM,MAAM,oBAAoB,GAAG;IAClC,KAAK,EAAE,EAAE,CAAC;IACV,eAAe,EAAE,CAAC,YAAY,CAAC,CAAC;IAChC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,MAAM,CAAC,aAAa,SAAS,OAAO,GAAG,OAAO,CAC9D,SAAQ,oBAAoB,CAAC,YAAY,CAAC;IAC1C;;OAEG;IACH,IAAI,GAAG,IAAI,MAAM,CAAC;IAElB;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAAC;IAEtB;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CAAC;IAEpB;;OAEG;IACH,IAAI,gBAAgB,IAAI,OAAO,CAAC;IAEhC;;OAEG;IACH,IAAI,OAAO,IAAI,aAAa,CAAC;IAE7B;;OAEG;IACH,IAAI,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE;IAEpC;;OAEG;IACH,IAAI,QAAQ,IAAI,cAAc,CAAC;IAE/B;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAE5B;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjD;;OAEG;IACH,cAAc,CACb,OAAO,CAAC,EAAE,wBAAwB,CAAC,aAAa,CAAC,GAC/C,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;OAEG;IACH,kBAAkB,CAAC,mBAAmB,SAAS,OAAO,GAAG,OAAO,EAC/D,OAAO,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,GAC/C,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE9C;;OAEG;IACH,YAAY,CAAC,aAAa,SAAS,OAAO,GAAG,OAAO,EACnD,OAAO,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;CAClC"}
|
package/node/lib/index.d.ts
CHANGED
|
@@ -16,9 +16,9 @@ declare const observer: Observer;
|
|
|
16
16
|
*/
|
|
17
17
|
export { observer };
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* Absolute path of the mediasoup-worker binary.
|
|
20
20
|
*/
|
|
21
|
-
export { workerBin } from './Worker';
|
|
21
|
+
export { defaultWorkerBin as workerBin } from './Worker';
|
|
22
22
|
/**
|
|
23
23
|
* Set event listeners for mediasoup generated logs. If called with no arguments
|
|
24
24
|
* then no events will be emitted.
|
|
@@ -44,7 +44,7 @@ export declare function setLogEventListeners(listeners?: LogEventListeners): voi
|
|
|
44
44
|
/**
|
|
45
45
|
* Create a Worker.
|
|
46
46
|
*/
|
|
47
|
-
export declare function createWorker<WorkerAppData extends AppData = AppData>({ logLevel, logTags, rtcMinPort, rtcMaxPort, dtlsCertificateFile, dtlsPrivateKeyFile, libwebrtcFieldTrials, disableLiburing, appData, }?: WorkerSettings<WorkerAppData>): Promise<Worker<WorkerAppData>>;
|
|
47
|
+
export declare function createWorker<WorkerAppData extends AppData = AppData>({ logLevel, logTags, rtcMinPort, rtcMaxPort, dtlsCertificateFile, dtlsPrivateKeyFile, workerBin, libwebrtcFieldTrials, disableLiburing, appData, }?: WorkerSettings<WorkerAppData>): Promise<Worker<WorkerAppData>>;
|
|
48
48
|
/**
|
|
49
49
|
* Get a cloned copy of the mediasoup supported RTP capabilities.
|
|
50
50
|
*/
|
package/node/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,QAAQ,EAER,iBAAiB,EAEjB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC;;GAEG;AACH,YAAY,KAAK,KAAK,MAAM,SAAS,CAAC;AAEtC;;GAEG;AAEH,eAAO,MAAM,OAAO,EAAE,MAA8C,CAAC;AAErE,QAAA,MAAM,QAAQ,EAAE,QAAqD,CAAC;AAEtE;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,QAAQ,EAER,iBAAiB,EAEjB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGvC;;GAEG;AACH,YAAY,KAAK,KAAK,MAAM,SAAS,CAAC;AAEtC;;GAEG;AAEH,eAAO,MAAM,OAAO,EAAE,MAA8C,CAAC;AAErE,QAAA,MAAM,QAAQ,EAAE,QAAqD,CAAC;AAEtE;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB;;GAEG;AACH,OAAO,EAAE,gBAAgB,IAAI,SAAS,EAAE,MAAM,UAAU,CAAC;AAIzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,CAAC,EAAE,iBAAiB,GAAG,IAAI,CA0BxE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,aAAa,SAAS,OAAO,GAAG,OAAO,EAAE,EAC3E,QAAkB,EAClB,OAAO,EACP,UAAkB,EAClB,UAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAElB,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,OAAO,GACP,GAAE,cAAc,CAAC,aAAa,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CA8BrE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,qBAAqB,CAEnE;AAED;;GAEG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC"}
|
package/node/lib/index.js
CHANGED
|
@@ -18,10 +18,10 @@ exports.version = require('../../package.json').version;
|
|
|
18
18
|
const observer = new enhancedEvents_1.EnhancedEventEmitter();
|
|
19
19
|
exports.observer = observer;
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* Absolute path of the mediasoup-worker binary.
|
|
22
22
|
*/
|
|
23
23
|
var Worker_2 = require("./Worker");
|
|
24
|
-
Object.defineProperty(exports, "workerBin", { enumerable: true, get: function () { return Worker_2.
|
|
24
|
+
Object.defineProperty(exports, "workerBin", { enumerable: true, get: function () { return Worker_2.defaultWorkerBin; } });
|
|
25
25
|
const logger = new Logger_1.Logger();
|
|
26
26
|
/**
|
|
27
27
|
* Set event listeners for mediasoup generated logs. If called with no arguments
|
|
@@ -66,7 +66,9 @@ function setLogEventListeners(listeners) {
|
|
|
66
66
|
/**
|
|
67
67
|
* Create a Worker.
|
|
68
68
|
*/
|
|
69
|
-
async function createWorker({ logLevel = 'error', logTags, rtcMinPort = 10000, rtcMaxPort = 59999, dtlsCertificateFile, dtlsPrivateKeyFile,
|
|
69
|
+
async function createWorker({ logLevel = 'error', logTags, rtcMinPort = 10000, rtcMaxPort = 59999, dtlsCertificateFile, dtlsPrivateKeyFile,
|
|
70
|
+
// eslint-disable-next-line no-shadow
|
|
71
|
+
workerBin, libwebrtcFieldTrials, disableLiburing, appData, } = {}) {
|
|
70
72
|
logger.debug('createWorker()');
|
|
71
73
|
if (appData && typeof appData !== 'object') {
|
|
72
74
|
throw new TypeError('if given, appData must be an object');
|
|
@@ -78,6 +80,7 @@ async function createWorker({ logLevel = 'error', logTags, rtcMinPort = 10000, r
|
|
|
78
80
|
rtcMaxPort,
|
|
79
81
|
dtlsCertificateFile,
|
|
80
82
|
dtlsPrivateKeyFile,
|
|
83
|
+
workerBin,
|
|
81
84
|
libwebrtcFieldTrials,
|
|
82
85
|
disableLiburing,
|
|
83
86
|
appData,
|
|
@@ -114,7 +117,7 @@ exports.extras = require("./extras");
|
|
|
114
117
|
const indexImpl = {
|
|
115
118
|
version: exports.version,
|
|
116
119
|
observer,
|
|
117
|
-
workerBin: Worker_1.
|
|
120
|
+
workerBin: Worker_1.defaultWorkerBin,
|
|
118
121
|
setLogEventListeners,
|
|
119
122
|
createWorker,
|
|
120
123
|
getSupportedRtpCapabilities,
|
|
@@ -63,7 +63,10 @@ test('mediasoup.createWorker() with wrong settings rejects with TypeError', asyn
|
|
|
63
63
|
await expect(mediasoup.createWorker({ dtlsPrivateKeyFile: '/notfound/priv.pem' })).rejects.toThrow(TypeError);
|
|
64
64
|
await expect(
|
|
65
65
|
// @ts-expect-error --- Testing purposes.
|
|
66
|
-
mediasoup.createWorker({ appData: 'NOT-AN-OBJECT' })).rejects.
|
|
66
|
+
mediasoup.createWorker({ appData: 'NOT-AN-OBJECT' })).rejects.toBeInstanceOf(TypeError);
|
|
67
|
+
}, 2000);
|
|
68
|
+
test('mediasoup.createWorker() with wrong `workerBin` rejects with Error', async () => {
|
|
69
|
+
await expect(mediasoup.createWorker({ workerBin: '/tmp/foo/mediasoup-worker' })).rejects.toBeInstanceOf(Error);
|
|
67
70
|
}, 2000);
|
|
68
71
|
test('worker.updateSettings() succeeds', async () => {
|
|
69
72
|
const worker = await mediasoup.createWorker();
|
|
@@ -85,7 +88,11 @@ test('worker.updateSettings() rejects with InvalidStateError if closed', async (
|
|
|
85
88
|
await expect(worker.updateSettings({ logLevel: 'error' })).rejects.toThrow(errors_1.InvalidStateError);
|
|
86
89
|
}, 2000);
|
|
87
90
|
test('worker.dump() succeeds', async () => {
|
|
88
|
-
const worker = await mediasoup.createWorker(
|
|
91
|
+
const worker = await mediasoup.createWorker({
|
|
92
|
+
// Just for testing purposes. This does nothing since by default
|
|
93
|
+
// `mediasoup.workerBin` is used.
|
|
94
|
+
workerBin: mediasoup.workerBin,
|
|
95
|
+
});
|
|
89
96
|
await expect(worker.dump()).resolves.toMatchObject({
|
|
90
97
|
pid: worker.pid,
|
|
91
98
|
webRtcServerIds: [],
|
package/npm-scripts.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mediasoup",
|
|
3
|
-
"version": "3.19.
|
|
3
|
+
"version": "3.19.12",
|
|
4
4
|
"description": "Cutting Edge WebRTC Video Conferencing",
|
|
5
5
|
"contributors": [
|
|
6
6
|
"Iñaki Baz Castillo <ibc@aliax.net> (https://inakibaz.me)",
|
|
@@ -108,18 +108,18 @@
|
|
|
108
108
|
"@types/node": "^24.10.1",
|
|
109
109
|
"eslint": "^9.39.1",
|
|
110
110
|
"eslint-config-prettier": "^10.1.8",
|
|
111
|
-
"eslint-plugin-jest": "^29.1
|
|
111
|
+
"eslint-plugin-jest": "^29.2.1",
|
|
112
112
|
"eslint-plugin-prettier": "^5.5.4",
|
|
113
113
|
"globals": "^16.5.0",
|
|
114
114
|
"jest": "^30.2.0",
|
|
115
|
-
"knip": "^5.
|
|
116
|
-
"marked": "^17.0.
|
|
115
|
+
"knip": "^5.70.1",
|
|
116
|
+
"marked": "^17.0.1",
|
|
117
117
|
"open-cli": "^8.0.0",
|
|
118
118
|
"pick-port": "^2.2.0",
|
|
119
119
|
"prettier": "^3.6.2",
|
|
120
120
|
"sctp": "^1.0.0",
|
|
121
121
|
"ts-jest": "^29.4.5",
|
|
122
122
|
"typescript": "^5.9.3",
|
|
123
|
-
"typescript-eslint": "^8.
|
|
123
|
+
"typescript-eslint": "^8.47.0"
|
|
124
124
|
}
|
|
125
125
|
}
|
|
@@ -31,8 +31,13 @@ namespace RTC
|
|
|
31
31
|
static std::unordered_map<DecodeTargetIndication, std::string> dtiToString;
|
|
32
32
|
|
|
33
33
|
private:
|
|
34
|
-
struct
|
|
34
|
+
struct FrameDependencyTemplate
|
|
35
35
|
{
|
|
36
|
+
FrameDependencyTemplate(uint32_t spatialLayer, uint32_t temporalLayer)
|
|
37
|
+
: spatialLayer(spatialLayer), temporalLayer(temporalLayer)
|
|
38
|
+
{
|
|
39
|
+
}
|
|
40
|
+
|
|
36
41
|
uint32_t spatialLayer;
|
|
37
42
|
uint32_t temporalLayer;
|
|
38
43
|
std::vector<DecodeTargetIndication> decodeTargetIndications;
|
|
@@ -47,7 +52,7 @@ namespace RTC
|
|
|
47
52
|
uint32_t temporalLayers{ 0 };
|
|
48
53
|
uint8_t templateIdOffset{ 0 };
|
|
49
54
|
uint8_t decodeTargetCount{ 0 };
|
|
50
|
-
std::vector<
|
|
55
|
+
std::vector<FrameDependencyTemplate> templateLayers;
|
|
51
56
|
};
|
|
52
57
|
|
|
53
58
|
public:
|
|
@@ -36,19 +36,19 @@ namespace RTC
|
|
|
36
36
|
}
|
|
37
37
|
uint32_t GetSenderSsrc() const
|
|
38
38
|
{
|
|
39
|
-
return
|
|
39
|
+
return ntohl(this->header->senderSsrc);
|
|
40
40
|
}
|
|
41
41
|
void SetSenderSsrc(uint32_t ssrc)
|
|
42
42
|
{
|
|
43
|
-
this->header->senderSsrc =
|
|
43
|
+
this->header->senderSsrc = htonl(ssrc);
|
|
44
44
|
}
|
|
45
45
|
uint32_t GetMediaSsrc() const
|
|
46
46
|
{
|
|
47
|
-
return
|
|
47
|
+
return ntohl(this->header->mediaSsrc);
|
|
48
48
|
}
|
|
49
49
|
void SetMediaSsrc(uint32_t ssrc)
|
|
50
50
|
{
|
|
51
|
-
this->header->mediaSsrc =
|
|
51
|
+
this->header->mediaSsrc = htonl(ssrc);
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
/* Pure virtual methods inherited from Packet. */
|
|
@@ -58,7 +58,7 @@ namespace RTC
|
|
|
58
58
|
|
|
59
59
|
uint32_t GetSsrc() const
|
|
60
60
|
{
|
|
61
|
-
return
|
|
61
|
+
return ntohl(this->header->ssrc);
|
|
62
62
|
}
|
|
63
63
|
uint8_t GetSequenceNumber() const
|
|
64
64
|
{
|
|
@@ -70,7 +70,7 @@ namespace RTC
|
|
|
70
70
|
}
|
|
71
71
|
uint16_t GetLength() const
|
|
72
72
|
{
|
|
73
|
-
return
|
|
73
|
+
return ntohs(this->header->length);
|
|
74
74
|
}
|
|
75
75
|
uint8_t* GetValue() const
|
|
76
76
|
{
|
|
@@ -56,31 +56,31 @@ namespace RTC
|
|
|
56
56
|
|
|
57
57
|
uint32_t GetSequenceNumber() const
|
|
58
58
|
{
|
|
59
|
-
return
|
|
59
|
+
return ntohl(this->header->sequenceNumber);
|
|
60
60
|
}
|
|
61
61
|
uint32_t GetEct0Counter() const
|
|
62
62
|
{
|
|
63
|
-
return
|
|
63
|
+
return ntohl(this->header->ect0Counter);
|
|
64
64
|
}
|
|
65
65
|
uint32_t GetEct1Counter() const
|
|
66
66
|
{
|
|
67
|
-
return
|
|
67
|
+
return ntohl(this->header->ect1Counter);
|
|
68
68
|
}
|
|
69
69
|
uint16_t GetEcnCeCounter() const
|
|
70
70
|
{
|
|
71
|
-
return
|
|
71
|
+
return ntohs(this->header->ecnCeCounter);
|
|
72
72
|
}
|
|
73
73
|
uint16_t GetNotEctCounter() const
|
|
74
74
|
{
|
|
75
|
-
return
|
|
75
|
+
return ntohs(this->header->notEctCounter);
|
|
76
76
|
}
|
|
77
77
|
uint16_t GetLostPackets() const
|
|
78
78
|
{
|
|
79
|
-
return
|
|
79
|
+
return ntohs(this->header->lostPackets);
|
|
80
80
|
}
|
|
81
81
|
uint16_t GetDuplicatedPackets() const
|
|
82
82
|
{
|
|
83
|
-
return
|
|
83
|
+
return ntohs(this->header->duplicatedPackets);
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
/* Virtual methods inherited from FeedbackItem. */
|
|
@@ -43,11 +43,11 @@ namespace RTC
|
|
|
43
43
|
|
|
44
44
|
uint16_t GetPacketId() const
|
|
45
45
|
{
|
|
46
|
-
return
|
|
46
|
+
return ntohs(this->header->packetId);
|
|
47
47
|
}
|
|
48
48
|
uint16_t GetLostPacketBitmask() const
|
|
49
49
|
{
|
|
50
|
-
return
|
|
50
|
+
return ntohs(this->header->lostPacketBitmask);
|
|
51
51
|
}
|
|
52
52
|
size_t CountRequestedPackets() const
|
|
53
53
|
{
|
|
@@ -42,11 +42,11 @@ namespace RTC
|
|
|
42
42
|
|
|
43
43
|
uint16_t GetPacketId() const
|
|
44
44
|
{
|
|
45
|
-
return
|
|
45
|
+
return ntohs(this->header->packetId);
|
|
46
46
|
}
|
|
47
47
|
uint16_t GetLostPacketBitmask() const
|
|
48
48
|
{
|
|
49
|
-
return
|
|
49
|
+
return ntohs(this->header->lostPacketBitmask);
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
/* Virtual methods inherited from FeedbackItem. */
|
|
@@ -51,11 +51,11 @@ namespace RTC
|
|
|
51
51
|
}
|
|
52
52
|
uint32_t GetSsrc() const
|
|
53
53
|
{
|
|
54
|
-
return
|
|
54
|
+
return ntohl(this->header->ssrc);
|
|
55
55
|
}
|
|
56
56
|
void SetSsrc(uint32_t ssrc)
|
|
57
57
|
{
|
|
58
|
-
this->header->ssrc =
|
|
58
|
+
this->header->ssrc = htonl(ssrc);
|
|
59
59
|
}
|
|
60
60
|
uint8_t GetFractionLost() const
|
|
61
61
|
{
|
|
@@ -75,35 +75,35 @@ namespace RTC
|
|
|
75
75
|
}
|
|
76
76
|
uint32_t GetLastSeq() const
|
|
77
77
|
{
|
|
78
|
-
return
|
|
78
|
+
return ntohl(this->header->lastSeq);
|
|
79
79
|
}
|
|
80
80
|
void SetLastSeq(uint32_t lastSeq)
|
|
81
81
|
{
|
|
82
|
-
this->header->lastSeq =
|
|
82
|
+
this->header->lastSeq = htonl(lastSeq);
|
|
83
83
|
}
|
|
84
84
|
uint32_t GetJitter() const
|
|
85
85
|
{
|
|
86
|
-
return
|
|
86
|
+
return ntohl(this->header->jitter);
|
|
87
87
|
}
|
|
88
88
|
void SetJitter(float jitter)
|
|
89
89
|
{
|
|
90
|
-
this->header->jitter =
|
|
90
|
+
this->header->jitter = htonl(static_cast<uint32_t>(jitter));
|
|
91
91
|
}
|
|
92
92
|
uint32_t GetLastSenderReport() const
|
|
93
93
|
{
|
|
94
|
-
return
|
|
94
|
+
return ntohl(this->header->lsr);
|
|
95
95
|
}
|
|
96
96
|
void SetLastSenderReport(uint32_t lsr)
|
|
97
97
|
{
|
|
98
|
-
this->header->lsr =
|
|
98
|
+
this->header->lsr = htonl(lsr);
|
|
99
99
|
}
|
|
100
100
|
uint32_t GetDelaySinceLastSenderReport() const
|
|
101
101
|
{
|
|
102
|
-
return
|
|
102
|
+
return ntohl(this->header->dlsr);
|
|
103
103
|
}
|
|
104
104
|
void SetDelaySinceLastSenderReport(uint32_t dlsr)
|
|
105
105
|
{
|
|
106
|
-
this->header->dlsr =
|
|
106
|
+
this->header->dlsr = htonl(dlsr);
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
private:
|
|
@@ -49,51 +49,51 @@ namespace RTC
|
|
|
49
49
|
}
|
|
50
50
|
uint32_t GetSsrc() const
|
|
51
51
|
{
|
|
52
|
-
return
|
|
52
|
+
return ntohl(this->header->ssrc);
|
|
53
53
|
}
|
|
54
54
|
void SetSsrc(uint32_t ssrc)
|
|
55
55
|
{
|
|
56
|
-
this->header->ssrc =
|
|
56
|
+
this->header->ssrc = htonl(ssrc);
|
|
57
57
|
}
|
|
58
58
|
uint32_t GetNtpSec() const
|
|
59
59
|
{
|
|
60
|
-
return
|
|
60
|
+
return ntohl(this->header->ntpSec);
|
|
61
61
|
}
|
|
62
62
|
void SetNtpSec(uint32_t ntpSec)
|
|
63
63
|
{
|
|
64
|
-
this->header->ntpSec =
|
|
64
|
+
this->header->ntpSec = htonl(ntpSec);
|
|
65
65
|
}
|
|
66
66
|
uint32_t GetNtpFrac() const
|
|
67
67
|
{
|
|
68
|
-
return
|
|
68
|
+
return ntohl(this->header->ntpFrac);
|
|
69
69
|
}
|
|
70
70
|
void SetNtpFrac(uint32_t ntpFrac)
|
|
71
71
|
{
|
|
72
|
-
this->header->ntpFrac =
|
|
72
|
+
this->header->ntpFrac = htonl(ntpFrac);
|
|
73
73
|
}
|
|
74
74
|
uint32_t GetRtpTs() const
|
|
75
75
|
{
|
|
76
|
-
return
|
|
76
|
+
return ntohl(this->header->rtpTs);
|
|
77
77
|
}
|
|
78
78
|
void SetRtpTs(uint32_t rtpTs)
|
|
79
79
|
{
|
|
80
|
-
this->header->rtpTs =
|
|
80
|
+
this->header->rtpTs = htonl(rtpTs);
|
|
81
81
|
}
|
|
82
82
|
uint32_t GetPacketCount() const
|
|
83
83
|
{
|
|
84
|
-
return
|
|
84
|
+
return ntohl(this->header->packetCount);
|
|
85
85
|
}
|
|
86
86
|
void SetPacketCount(uint32_t packetCount)
|
|
87
87
|
{
|
|
88
|
-
this->header->packetCount =
|
|
88
|
+
this->header->packetCount = htonl(packetCount);
|
|
89
89
|
}
|
|
90
90
|
uint32_t GetOctetCount() const
|
|
91
91
|
{
|
|
92
|
-
return
|
|
92
|
+
return ntohl(this->header->octetCount);
|
|
93
93
|
}
|
|
94
94
|
void SetOctetCount(uint32_t octetCount)
|
|
95
95
|
{
|
|
96
|
-
this->header->octetCount =
|
|
96
|
+
this->header->octetCount = htonl(octetCount);
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
private:
|
|
@@ -66,27 +66,27 @@ namespace RTC
|
|
|
66
66
|
}
|
|
67
67
|
uint32_t GetSsrc() const
|
|
68
68
|
{
|
|
69
|
-
return
|
|
69
|
+
return ntohl(this->body->ssrc);
|
|
70
70
|
}
|
|
71
71
|
void SetSsrc(uint32_t ssrc)
|
|
72
72
|
{
|
|
73
|
-
this->body->ssrc =
|
|
73
|
+
this->body->ssrc = htonl(ssrc);
|
|
74
74
|
}
|
|
75
75
|
uint32_t GetLastReceiverReport() const
|
|
76
76
|
{
|
|
77
|
-
return
|
|
77
|
+
return ntohl(this->body->lrr);
|
|
78
78
|
}
|
|
79
79
|
void SetLastReceiverReport(uint32_t lrr)
|
|
80
80
|
{
|
|
81
|
-
this->body->lrr =
|
|
81
|
+
this->body->lrr = htonl(lrr);
|
|
82
82
|
}
|
|
83
83
|
uint32_t GetDelaySinceLastReceiverReport() const
|
|
84
84
|
{
|
|
85
|
-
return
|
|
85
|
+
return ntohl(this->body->dlrr);
|
|
86
86
|
}
|
|
87
87
|
void SetDelaySinceLastReceiverReport(uint32_t dlrr)
|
|
88
88
|
{
|
|
89
|
-
this->body->dlrr =
|
|
89
|
+
this->body->dlrr = htonl(dlrr);
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
private:
|
|
@@ -51,19 +51,19 @@ namespace RTC
|
|
|
51
51
|
public:
|
|
52
52
|
uint32_t GetNtpSec() const
|
|
53
53
|
{
|
|
54
|
-
return
|
|
54
|
+
return ntohl(this->body->ntpSec);
|
|
55
55
|
}
|
|
56
56
|
void SetNtpSec(uint32_t ntpSec)
|
|
57
57
|
{
|
|
58
|
-
this->body->ntpSec =
|
|
58
|
+
this->body->ntpSec = htonl(ntpSec);
|
|
59
59
|
}
|
|
60
60
|
uint32_t GetNtpFrac() const
|
|
61
61
|
{
|
|
62
|
-
return
|
|
62
|
+
return ntohl(this->body->ntpFrac);
|
|
63
63
|
}
|
|
64
64
|
void SetNtpFrac(uint32_t ntpFrac)
|
|
65
65
|
{
|
|
66
|
-
this->body->ntpFrac =
|
|
66
|
+
this->body->ntpFrac = htonl(ntpFrac);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
/* Pure virtual methods inherited from ExtendedReportBlock. */
|