mediasoup-client 3.6.43 → 3.6.47
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/DataConsumer.d.ts +2 -2
- package/lib/DataConsumer.d.ts.map +1 -1
- package/lib/Device.d.ts.map +1 -1
- package/lib/Device.js +7 -3
- package/lib/Logger.js +6 -6
- package/lib/Transport.d.ts +3 -3
- package/lib/Transport.js +1 -1
- package/lib/handlers/Chrome55.d.ts +1 -0
- package/lib/handlers/Chrome55.d.ts.map +1 -1
- package/lib/handlers/Chrome55.js +40 -9
- package/lib/handlers/Chrome67.d.ts +1 -0
- package/lib/handlers/Chrome67.d.ts.map +1 -1
- package/lib/handlers/Chrome67.js +41 -10
- package/lib/handlers/Chrome70.d.ts +1 -0
- package/lib/handlers/Chrome70.d.ts.map +1 -1
- package/lib/handlers/Chrome70.js +42 -11
- package/lib/handlers/Chrome74.d.ts +1 -0
- package/lib/handlers/Chrome74.d.ts.map +1 -1
- package/lib/handlers/Chrome74.js +42 -11
- package/lib/handlers/Edge11.d.ts.map +1 -1
- package/lib/handlers/Edge11.js +3 -2
- package/lib/handlers/FakeHandler.js +1 -1
- package/lib/handlers/Firefox60.js +10 -4
- package/lib/handlers/ReactNative.d.ts +1 -0
- package/lib/handlers/ReactNative.d.ts.map +1 -1
- package/lib/handlers/ReactNative.js +40 -9
- package/lib/handlers/Safari11.d.ts +1 -0
- package/lib/handlers/Safari11.d.ts.map +1 -1
- package/lib/handlers/Safari11.js +40 -10
- package/lib/handlers/Safari12.d.ts +1 -0
- package/lib/handlers/Safari12.d.ts.map +1 -1
- package/lib/handlers/Safari12.js +40 -10
- package/lib/handlers/ortc/edgeUtils.js +1 -1
- package/lib/handlers/sdp/MediaSection.js +1 -1
- package/lib/handlers/sdp/RemoteSdp.js +1 -1
- package/lib/handlers/sdp/commonUtils.js +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +3 -3
- package/lib/ortc.js +5 -5
- package/lib/types.js +1 -1
- package/package.json +9 -9
- package/src/DataConsumer.ts +2 -2
- package/src/Device.ts +7 -2
- package/src/Transport.ts +3 -3
- package/src/handlers/Chrome55.ts +37 -5
- package/src/handlers/Chrome67.ts +37 -5
- package/src/handlers/Chrome70.ts +36 -4
- package/src/handlers/Chrome74.ts +36 -4
- package/src/handlers/Edge11.ts +3 -1
- package/src/handlers/Firefox60.ts +1 -1
- package/src/handlers/ReactNative.ts +37 -5
- package/src/handlers/Safari11.ts +37 -5
- package/src/handlers/Safari12.ts +36 -4
- package/src/ortc.ts +6 -6
- package/tsconfig.json +1 -1
package/lib/DataConsumer.d.ts
CHANGED
|
@@ -62,11 +62,11 @@ export declare class DataConsumer extends EnhancedEventEmitter {
|
|
|
62
62
|
/**
|
|
63
63
|
* DataChannel binaryType.
|
|
64
64
|
*/
|
|
65
|
-
get binaryType():
|
|
65
|
+
get binaryType(): BinaryType;
|
|
66
66
|
/**
|
|
67
67
|
* Set DataChannel binaryType.
|
|
68
68
|
*/
|
|
69
|
-
set binaryType(binaryType:
|
|
69
|
+
set binaryType(binaryType: BinaryType);
|
|
70
70
|
/**
|
|
71
71
|
* App custom data.
|
|
72
72
|
*/
|
|
@@ -1 +1 @@
|
|
|
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;AAExD,oBAAY,mBAAmB,GAC/B;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,GAAG,CAAC;CACd,CAAA;AAID,qBAAa,YAAa,SAAQ,oBAAoB;IAGrD,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,CAAC,QAAQ,CAAM;IAE/B,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;IAE1D;;;;;;;OAOG;gBAEF,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,EAAE,GAAG,CAAC;KACb;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,
|
|
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;AAExD,oBAAY,mBAAmB,GAC/B;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,GAAG,CAAC;CACd,CAAA;AAID,qBAAa,YAAa,SAAQ,oBAAoB;IAGrD,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,CAAC,QAAQ,CAAM;IAE/B,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;IAE1D;;;;;;;OAOG;gBAEF,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,EAAE,GAAG,CAAC;KACb;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,GAAG,CAGjB;IAED;;OAEG;IACH,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,EAGvB;IAED;;;;OAIG;IACH,IAAI,QAAQ,IAAI,oBAAoB,CAGnC;IAED;;OAEG;IACH,KAAK,IAAI,IAAI;IAiBb;;OAEG;IACH,eAAe,IAAI,IAAI;IAiBvB,OAAO,CAAC,kBAAkB;CAyD1B"}
|
package/lib/Device.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../src/Device.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAoB,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAoB,MAAM,6BAA6B,CAAC;AAU/E,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpD,oBAAY,kBAAkB,GAC3B,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,UAAU,GACV,UAAU,GACV,QAAQ,GACR,aAAa,CAAC;AAEjB,oBAAY,aAAa,GACzB;IACC;;OAEG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAOF,wBAAgB,YAAY,IAAI,kBAAkB,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"Device.d.ts","sourceRoot":"","sources":["../src/Device.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAoB,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAoB,MAAM,6BAA6B,CAAC;AAU/E,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpD,oBAAY,kBAAkB,GAC3B,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,UAAU,GACV,UAAU,GACV,QAAQ,GACR,aAAa,CAAC;AAEjB,oBAAY,aAAa,GACzB;IACC;;OAEG;IACH,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAOF,wBAAgB,YAAY,IAAI,kBAAkB,GAAG,SAAS,CA0H7D;AAED,qBAAa,MAAM;IAGlB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IAEjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,wBAAwB,CAAC,CAAM;IAEvC,OAAO,CAAC,oBAAoB,CAAC,CAAkB;IAG/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IAErD,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAE7C,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAA8B;IAE1D;;;;OAIG;gBACS,EAAE,WAAW,EAAE,cAAc,EAAE,OAAO,EAAE,GAAE,aAAkB;IA8FxE;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,CAGxB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAGpB;IAED;;;;OAIG;IACH,IAAI,eAAe,IAAI,eAAe,CAMrC;IAED;;;;OAIG;IACH,IAAI,gBAAgB,IAAI,gBAAgB,CAMvC;IAED;;;;OAIG;IACH,IAAI,QAAQ,IAAI,oBAAoB,CAGnC;IAED;;OAEG;IACG,IAAI,CACT,EAAE,qBAAqB,EAAE,EACzB;QAAE,qBAAqB,EAAE,eAAe,CAAA;KAAE,GACxC,OAAO,CAAC,IAAI,CAAC;IA4EhB;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IAUpC;;;;;OAKG;IACH,mBAAmB,CAClB,EACC,EAAE,EACF,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,OAAY,EACZ,EAAE,gBAAgB,GACjB,SAAS;IAoBZ;;;;;OAKG;IACH,mBAAmB,CAClB,EACC,EAAE,EACF,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,OAAY,EACZ,EAAE,gBAAgB,GACjB,SAAS;IAoBZ,OAAO,CAAC,gBAAgB;CAuDxB"}
|
package/lib/Device.js
CHANGED
|
@@ -15,7 +15,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
16
16
|
if (mod && mod.__esModule) return mod;
|
|
17
17
|
var result = {};
|
|
18
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
19
19
|
__setModuleDefault(result, mod);
|
|
20
20
|
return result;
|
|
21
21
|
};
|
|
@@ -57,8 +57,8 @@ function detectDevice() {
|
|
|
57
57
|
const ua = navigator.userAgent;
|
|
58
58
|
const browser = bowser_1.default.getParser(ua);
|
|
59
59
|
const engine = browser.getEngine();
|
|
60
|
-
// Chrome and
|
|
61
|
-
if (browser.satisfies({ chrome: '>=74', chromium: '>=74' })) {
|
|
60
|
+
// Chrome, Chromium, and Edge.
|
|
61
|
+
if (browser.satisfies({ chrome: '>=74', chromium: '>=74', 'microsoft edge': '>=88' })) {
|
|
62
62
|
return 'Chrome74';
|
|
63
63
|
}
|
|
64
64
|
else if (browser.satisfies({ chrome: '>=70', chromium: '>=70' })) {
|
|
@@ -74,6 +74,10 @@ function detectDevice() {
|
|
|
74
74
|
else if (browser.satisfies({ firefox: '>=60' })) {
|
|
75
75
|
return 'Firefox60';
|
|
76
76
|
}
|
|
77
|
+
// Firefox on iOS.
|
|
78
|
+
else if (browser.satisfies({ ios: { OS: '>=14.3', firefox: '>=30.0' } })) {
|
|
79
|
+
return 'Safari12';
|
|
80
|
+
}
|
|
77
81
|
// Safari with Unified-Plan support enabled.
|
|
78
82
|
else if (browser.satisfies({ safari: '>=12.0' }) &&
|
|
79
83
|
typeof RTCRtpTransceiver !== 'undefined' &&
|
package/lib/Logger.js
CHANGED
|
@@ -9,14 +9,14 @@ const APP_NAME = 'mediasoup-client';
|
|
|
9
9
|
class Logger {
|
|
10
10
|
constructor(prefix) {
|
|
11
11
|
if (prefix) {
|
|
12
|
-
this._debug = debug_1.default(`${APP_NAME}:${prefix}`);
|
|
13
|
-
this._warn = debug_1.default(`${APP_NAME}:WARN:${prefix}`);
|
|
14
|
-
this._error = debug_1.default(`${APP_NAME}:ERROR:${prefix}`);
|
|
12
|
+
this._debug = (0, debug_1.default)(`${APP_NAME}:${prefix}`);
|
|
13
|
+
this._warn = (0, debug_1.default)(`${APP_NAME}:WARN:${prefix}`);
|
|
14
|
+
this._error = (0, debug_1.default)(`${APP_NAME}:ERROR:${prefix}`);
|
|
15
15
|
}
|
|
16
16
|
else {
|
|
17
|
-
this._debug = debug_1.default(APP_NAME);
|
|
18
|
-
this._warn = debug_1.default(`${APP_NAME}:WARN`);
|
|
19
|
-
this._error = debug_1.default(`${APP_NAME}:ERROR`);
|
|
17
|
+
this._debug = (0, debug_1.default)(APP_NAME);
|
|
18
|
+
this._warn = (0, debug_1.default)(`${APP_NAME}:WARN`);
|
|
19
|
+
this._error = (0, debug_1.default)(`${APP_NAME}:ERROR`);
|
|
20
20
|
}
|
|
21
21
|
/* eslint-disable no-console */
|
|
22
22
|
this._debug.log = console.info.bind(console);
|
package/lib/Transport.d.ts
CHANGED
|
@@ -65,7 +65,7 @@ export declare type IceCandidate = {
|
|
|
65
65
|
*/
|
|
66
66
|
port: number;
|
|
67
67
|
/**
|
|
68
|
-
* The type of candidate
|
|
68
|
+
* The type of candidate.
|
|
69
69
|
*/
|
|
70
70
|
type: 'host' | 'srflx' | 'prflx' | 'relay';
|
|
71
71
|
/**
|
|
@@ -75,11 +75,11 @@ export declare type IceCandidate = {
|
|
|
75
75
|
};
|
|
76
76
|
export declare type DtlsParameters = {
|
|
77
77
|
/**
|
|
78
|
-
* DTLS role. Default 'auto'.
|
|
78
|
+
* Server DTLS role. Default 'auto'.
|
|
79
79
|
*/
|
|
80
80
|
role?: DtlsRole;
|
|
81
81
|
/**
|
|
82
|
-
* DTLS fingerprints.
|
|
82
|
+
* Server DTLS fingerprints.
|
|
83
83
|
*/
|
|
84
84
|
fingerprints: DtlsFingerprint[];
|
|
85
85
|
};
|
package/lib/Transport.js
CHANGED
|
@@ -14,7 +14,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
14
14
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
15
|
if (mod && mod.__esModule) return mod;
|
|
16
16
|
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
18
|
__setModuleDefault(result, mod);
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
@@ -7,6 +7,7 @@ export declare class Chrome55 extends HandlerInterface {
|
|
|
7
7
|
private _remoteSdp?;
|
|
8
8
|
private _sendingRtpParametersByKind?;
|
|
9
9
|
private _sendingRemoteRtpParametersByKind?;
|
|
10
|
+
private _forcedLocalDtlsRole?;
|
|
10
11
|
private _pc;
|
|
11
12
|
private readonly _sendStream;
|
|
12
13
|
private readonly _mapSendLocalIdTrack;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chrome55.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome55.ts"],"names":[],"mappings":"AAOA,OAAO,EACN,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,EAChC,+BAA+B,EAC/B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAY,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,eAAe,EAAiB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAM3E,qBAAa,QAAS,SAAQ,gBAAgB;IAG7C,OAAO,CAAC,UAAU,CAAC,CAAkB;IAErC,OAAO,CAAC,UAAU,CAAC,CAAY;IAE/B,OAAO,CAAC,2BAA2B,CAAC,CAAmC;IAGvE,OAAO,CAAC,iCAAiC,CAAC,CAAmC;
|
|
1
|
+
{"version":3,"file":"Chrome55.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome55.ts"],"names":[],"mappings":"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"}
|
package/lib/handlers/Chrome55.js
CHANGED
|
@@ -14,7 +14,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
14
14
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
15
|
if (mod && mod.__esModule) return mod;
|
|
16
16
|
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
18
|
__setModuleDefault(result, mod);
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
@@ -125,7 +125,19 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
|
|
|
125
125
|
audio: ortc.getSendingRemoteRtpParameters('audio', extendedRtpCapabilities),
|
|
126
126
|
video: ortc.getSendingRemoteRtpParameters('video', extendedRtpCapabilities)
|
|
127
127
|
};
|
|
128
|
-
|
|
128
|
+
if (dtlsParameters.role && dtlsParameters.role !== 'auto') {
|
|
129
|
+
this._forcedLocalDtlsRole = dtlsParameters.role === 'server'
|
|
130
|
+
? 'client'
|
|
131
|
+
: 'server';
|
|
132
|
+
}
|
|
133
|
+
this._pc = new RTCPeerConnection({
|
|
134
|
+
iceServers: iceServers || [],
|
|
135
|
+
iceTransportPolicy: iceTransportPolicy || 'all',
|
|
136
|
+
bundlePolicy: 'max-bundle',
|
|
137
|
+
rtcpMuxPolicy: 'require',
|
|
138
|
+
sdpSemantics: 'plan-b',
|
|
139
|
+
...additionalSettings
|
|
140
|
+
}, proprietaryConstraints);
|
|
129
141
|
// Handle RTCPeerConnection connection status.
|
|
130
142
|
this._pc.addEventListener('iceconnectionstatechange', () => {
|
|
131
143
|
switch (this._pc.iceConnectionState) {
|
|
@@ -181,6 +193,7 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
|
|
|
181
193
|
return this._pc.getStats();
|
|
182
194
|
}
|
|
183
195
|
async send({ track, encodings, codecOptions, codec }) {
|
|
196
|
+
var _a;
|
|
184
197
|
this._assertSendDirection();
|
|
185
198
|
logger.debug('send() [kind:%s, track.id:%s]', track.kind, track.id);
|
|
186
199
|
if (codec) {
|
|
@@ -197,8 +210,12 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
|
|
|
197
210
|
const sendingRemoteRtpParameters = utils.clone(this._sendingRemoteRtpParametersByKind[track.kind], {});
|
|
198
211
|
sendingRemoteRtpParameters.codecs =
|
|
199
212
|
ortc.reduceCodecs(sendingRemoteRtpParameters.codecs);
|
|
200
|
-
if (!this._transportReady)
|
|
201
|
-
await this._setupTransport({
|
|
213
|
+
if (!this._transportReady) {
|
|
214
|
+
await this._setupTransport({
|
|
215
|
+
localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
|
|
216
|
+
localSdpObject
|
|
217
|
+
});
|
|
218
|
+
}
|
|
202
219
|
if (track.kind === 'video' && encodings && encodings.length > 1) {
|
|
203
220
|
logger.debug('send() | enabling simulcast');
|
|
204
221
|
localSdpObject = sdpTransform.parse(offer.sdp);
|
|
@@ -301,6 +318,7 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
|
|
|
301
318
|
throw new errors_1.UnsupportedError('not implemented');
|
|
302
319
|
}
|
|
303
320
|
async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }) {
|
|
321
|
+
var _a;
|
|
304
322
|
this._assertSendDirection();
|
|
305
323
|
const options = {
|
|
306
324
|
negotiated: true,
|
|
@@ -323,8 +341,12 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
|
|
|
323
341
|
const localSdpObject = sdpTransform.parse(offer.sdp);
|
|
324
342
|
const offerMediaObject = localSdpObject.media
|
|
325
343
|
.find((m) => m.type === 'application');
|
|
326
|
-
if (!this._transportReady)
|
|
327
|
-
await this._setupTransport({
|
|
344
|
+
if (!this._transportReady) {
|
|
345
|
+
await this._setupTransport({
|
|
346
|
+
localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
|
|
347
|
+
localSdpObject
|
|
348
|
+
});
|
|
349
|
+
}
|
|
328
350
|
logger.debug('sendDataChannel() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
329
351
|
await this._pc.setLocalDescription(offer);
|
|
330
352
|
this._remoteSdp.sendSctpAssociation({ offerMediaObject });
|
|
@@ -342,6 +364,7 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
|
|
|
342
364
|
return { dataChannel, sctpStreamParameters };
|
|
343
365
|
}
|
|
344
366
|
async receive({ trackId, kind, rtpParameters }) {
|
|
367
|
+
var _a;
|
|
345
368
|
this._assertRecvDirection();
|
|
346
369
|
logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
|
|
347
370
|
const localId = trackId;
|
|
@@ -368,8 +391,12 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
|
|
|
368
391
|
answerMediaObject
|
|
369
392
|
});
|
|
370
393
|
answer = { type: 'answer', sdp: sdpTransform.write(localSdpObject) };
|
|
371
|
-
if (!this._transportReady)
|
|
372
|
-
await this._setupTransport({
|
|
394
|
+
if (!this._transportReady) {
|
|
395
|
+
await this._setupTransport({
|
|
396
|
+
localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
|
|
397
|
+
localSdpObject
|
|
398
|
+
});
|
|
399
|
+
}
|
|
373
400
|
logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer);
|
|
374
401
|
await this._pc.setLocalDescription(answer);
|
|
375
402
|
const stream = this._pc.getRemoteStreams()
|
|
@@ -410,6 +437,7 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
|
|
|
410
437
|
throw new errors_1.UnsupportedError('not implemented');
|
|
411
438
|
}
|
|
412
439
|
async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
|
|
440
|
+
var _a;
|
|
413
441
|
this._assertRecvDirection();
|
|
414
442
|
const { streamId, ordered, maxPacketLifeTime, maxRetransmits } = sctpStreamParameters;
|
|
415
443
|
const options = {
|
|
@@ -433,7 +461,10 @@ class Chrome55 extends HandlerInterface_1.HandlerInterface {
|
|
|
433
461
|
const answer = await this._pc.createAnswer();
|
|
434
462
|
if (!this._transportReady) {
|
|
435
463
|
const localSdpObject = sdpTransform.parse(answer.sdp);
|
|
436
|
-
await this._setupTransport({
|
|
464
|
+
await this._setupTransport({
|
|
465
|
+
localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
|
|
466
|
+
localSdpObject
|
|
467
|
+
});
|
|
437
468
|
}
|
|
438
469
|
logger.debug('receiveDataChannel() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
439
470
|
await this._pc.setLocalDescription(answer);
|
|
@@ -7,6 +7,7 @@ export declare class Chrome67 extends HandlerInterface {
|
|
|
7
7
|
private _remoteSdp?;
|
|
8
8
|
private _sendingRtpParametersByKind?;
|
|
9
9
|
private _sendingRemoteRtpParametersByKind?;
|
|
10
|
+
private _forcedLocalDtlsRole?;
|
|
10
11
|
private _pc;
|
|
11
12
|
private readonly _sendStream;
|
|
12
13
|
private readonly _mapSendLocalIdRtpSender;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chrome67.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome67.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,EAChC,+BAA+B,EAC/B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAY,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,eAAe,EAAiB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAM3E,qBAAa,QAAS,SAAQ,gBAAgB;IAG7C,OAAO,CAAC,UAAU,CAAC,CAAkB;IAErC,OAAO,CAAC,UAAU,CAAC,CAAY;IAE/B,OAAO,CAAC,2BAA2B,CAAC,CAAmC;IAGvE,OAAO,CAAC,iCAAiC,CAAC,CAAmC;
|
|
1
|
+
{"version":3,"file":"Chrome67.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome67.ts"],"names":[],"mappings":"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"}
|
package/lib/handlers/Chrome67.js
CHANGED
|
@@ -14,7 +14,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
14
14
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
15
|
if (mod && mod.__esModule) return mod;
|
|
16
16
|
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
18
|
__setModuleDefault(result, mod);
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
@@ -124,7 +124,19 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
|
|
|
124
124
|
audio: ortc.getSendingRemoteRtpParameters('audio', extendedRtpCapabilities),
|
|
125
125
|
video: ortc.getSendingRemoteRtpParameters('video', extendedRtpCapabilities)
|
|
126
126
|
};
|
|
127
|
-
|
|
127
|
+
if (dtlsParameters.role && dtlsParameters.role !== 'auto') {
|
|
128
|
+
this._forcedLocalDtlsRole = dtlsParameters.role === 'server'
|
|
129
|
+
? 'client'
|
|
130
|
+
: 'server';
|
|
131
|
+
}
|
|
132
|
+
this._pc = new RTCPeerConnection({
|
|
133
|
+
iceServers: iceServers || [],
|
|
134
|
+
iceTransportPolicy: iceTransportPolicy || 'all',
|
|
135
|
+
bundlePolicy: 'max-bundle',
|
|
136
|
+
rtcpMuxPolicy: 'require',
|
|
137
|
+
sdpSemantics: 'plan-b',
|
|
138
|
+
...additionalSettings
|
|
139
|
+
}, proprietaryConstraints);
|
|
128
140
|
// Handle RTCPeerConnection connection status.
|
|
129
141
|
this._pc.addEventListener('iceconnectionstatechange', () => {
|
|
130
142
|
switch (this._pc.iceConnectionState) {
|
|
@@ -180,6 +192,7 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
|
|
|
180
192
|
return this._pc.getStats();
|
|
181
193
|
}
|
|
182
194
|
async send({ track, encodings, codecOptions, codec }) {
|
|
195
|
+
var _a;
|
|
183
196
|
this._assertSendDirection();
|
|
184
197
|
logger.debug('send() [kind:%s, track.id:%s]', track.kind, track.id);
|
|
185
198
|
if (codec) {
|
|
@@ -196,8 +209,12 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
|
|
|
196
209
|
const sendingRemoteRtpParameters = utils.clone(this._sendingRemoteRtpParametersByKind[track.kind], {});
|
|
197
210
|
sendingRemoteRtpParameters.codecs =
|
|
198
211
|
ortc.reduceCodecs(sendingRemoteRtpParameters.codecs);
|
|
199
|
-
if (!this._transportReady)
|
|
200
|
-
await this._setupTransport({
|
|
212
|
+
if (!this._transportReady) {
|
|
213
|
+
await this._setupTransport({
|
|
214
|
+
localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
|
|
215
|
+
localSdpObject
|
|
216
|
+
});
|
|
217
|
+
}
|
|
201
218
|
if (track.kind === 'video' && encodings && encodings.length > 1) {
|
|
202
219
|
logger.debug('send() | enabling simulcast');
|
|
203
220
|
localSdpObject = sdpTransform.parse(offer.sdp);
|
|
@@ -330,7 +347,7 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
|
|
|
330
347
|
throw new Error('associated RTCRtpSender not found');
|
|
331
348
|
const parameters = rtpSender.getParameters();
|
|
332
349
|
parameters.encodings.forEach((encoding, idx) => {
|
|
333
|
-
parameters.encodings[idx] =
|
|
350
|
+
parameters.encodings[idx] = { ...encoding, ...params };
|
|
334
351
|
});
|
|
335
352
|
await rtpSender.setParameters(parameters);
|
|
336
353
|
}
|
|
@@ -342,6 +359,7 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
|
|
|
342
359
|
return rtpSender.getStats();
|
|
343
360
|
}
|
|
344
361
|
async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }) {
|
|
362
|
+
var _a;
|
|
345
363
|
this._assertSendDirection();
|
|
346
364
|
const options = {
|
|
347
365
|
negotiated: true,
|
|
@@ -364,8 +382,12 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
|
|
|
364
382
|
const localSdpObject = sdpTransform.parse(offer.sdp);
|
|
365
383
|
const offerMediaObject = localSdpObject.media
|
|
366
384
|
.find((m) => m.type === 'application');
|
|
367
|
-
if (!this._transportReady)
|
|
368
|
-
await this._setupTransport({
|
|
385
|
+
if (!this._transportReady) {
|
|
386
|
+
await this._setupTransport({
|
|
387
|
+
localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
|
|
388
|
+
localSdpObject
|
|
389
|
+
});
|
|
390
|
+
}
|
|
369
391
|
logger.debug('sendDataChannel() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
370
392
|
await this._pc.setLocalDescription(offer);
|
|
371
393
|
this._remoteSdp.sendSctpAssociation({ offerMediaObject });
|
|
@@ -383,6 +405,7 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
|
|
|
383
405
|
return { dataChannel, sctpStreamParameters };
|
|
384
406
|
}
|
|
385
407
|
async receive({ trackId, kind, rtpParameters }) {
|
|
408
|
+
var _a;
|
|
386
409
|
this._assertRecvDirection();
|
|
387
410
|
logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
|
|
388
411
|
const localId = trackId;
|
|
@@ -408,8 +431,12 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
|
|
|
408
431
|
answerMediaObject
|
|
409
432
|
});
|
|
410
433
|
answer = { type: 'answer', sdp: sdpTransform.write(localSdpObject) };
|
|
411
|
-
if (!this._transportReady)
|
|
412
|
-
await this._setupTransport({
|
|
434
|
+
if (!this._transportReady) {
|
|
435
|
+
await this._setupTransport({
|
|
436
|
+
localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
|
|
437
|
+
localSdpObject
|
|
438
|
+
});
|
|
439
|
+
}
|
|
413
440
|
logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer);
|
|
414
441
|
await this._pc.setLocalDescription(answer);
|
|
415
442
|
const rtpReceiver = this._pc.getReceivers()
|
|
@@ -456,6 +483,7 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
|
|
|
456
483
|
return rtpReceiver.getStats();
|
|
457
484
|
}
|
|
458
485
|
async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
|
|
486
|
+
var _a;
|
|
459
487
|
this._assertRecvDirection();
|
|
460
488
|
const { streamId, ordered, maxPacketLifeTime, maxRetransmits } = sctpStreamParameters;
|
|
461
489
|
const options = {
|
|
@@ -479,7 +507,10 @@ class Chrome67 extends HandlerInterface_1.HandlerInterface {
|
|
|
479
507
|
const answer = await this._pc.createAnswer();
|
|
480
508
|
if (!this._transportReady) {
|
|
481
509
|
const localSdpObject = sdpTransform.parse(answer.sdp);
|
|
482
|
-
await this._setupTransport({
|
|
510
|
+
await this._setupTransport({
|
|
511
|
+
localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
|
|
512
|
+
localSdpObject
|
|
513
|
+
});
|
|
483
514
|
}
|
|
484
515
|
logger.debug('receiveDataChannel() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
485
516
|
await this._pc.setLocalDescription(answer);
|
|
@@ -7,6 +7,7 @@ export declare class Chrome70 extends HandlerInterface {
|
|
|
7
7
|
private _remoteSdp?;
|
|
8
8
|
private _sendingRtpParametersByKind?;
|
|
9
9
|
private _sendingRemoteRtpParametersByKind?;
|
|
10
|
+
private _forcedLocalDtlsRole?;
|
|
10
11
|
private _pc;
|
|
11
12
|
private readonly _mapMidTransceiver;
|
|
12
13
|
private readonly _sendStream;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chrome70.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome70.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,EAChC,+BAA+B,EAC/B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAY,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,eAAe,EAAiB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAM3E,qBAAa,QAAS,SAAQ,gBAAgB;IAG7C,OAAO,CAAC,UAAU,CAAC,CAAkB;IAErC,OAAO,CAAC,UAAU,CAAC,CAAY;IAE/B,OAAO,CAAC,2BAA2B,CAAC,CAAmC;IAGvE,OAAO,CAAC,iCAAiC,CAAC,CAAmC;
|
|
1
|
+
{"version":3,"file":"Chrome70.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome70.ts"],"names":[],"mappings":"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"}
|
package/lib/handlers/Chrome70.js
CHANGED
|
@@ -14,7 +14,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
14
14
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
15
|
if (mod && mod.__esModule) return mod;
|
|
16
16
|
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
18
|
__setModuleDefault(result, mod);
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
@@ -118,7 +118,19 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
118
118
|
audio: ortc.getSendingRemoteRtpParameters('audio', extendedRtpCapabilities),
|
|
119
119
|
video: ortc.getSendingRemoteRtpParameters('video', extendedRtpCapabilities)
|
|
120
120
|
};
|
|
121
|
-
|
|
121
|
+
if (dtlsParameters.role && dtlsParameters.role !== 'auto') {
|
|
122
|
+
this._forcedLocalDtlsRole = dtlsParameters.role === 'server'
|
|
123
|
+
? 'client'
|
|
124
|
+
: 'server';
|
|
125
|
+
}
|
|
126
|
+
this._pc = new RTCPeerConnection({
|
|
127
|
+
iceServers: iceServers || [],
|
|
128
|
+
iceTransportPolicy: iceTransportPolicy || 'all',
|
|
129
|
+
bundlePolicy: 'max-bundle',
|
|
130
|
+
rtcpMuxPolicy: 'require',
|
|
131
|
+
sdpSemantics: 'unified-plan',
|
|
132
|
+
...additionalSettings
|
|
133
|
+
}, proprietaryConstraints);
|
|
122
134
|
// Handle RTCPeerConnection connection status.
|
|
123
135
|
this._pc.addEventListener('iceconnectionstatechange', () => {
|
|
124
136
|
switch (this._pc.iceConnectionState) {
|
|
@@ -174,6 +186,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
174
186
|
return this._pc.getStats();
|
|
175
187
|
}
|
|
176
188
|
async send({ track, encodings, codecOptions, codec }) {
|
|
189
|
+
var _a;
|
|
177
190
|
this._assertSendDirection();
|
|
178
191
|
logger.debug('send() [kind:%s, track.id:%s]', track.kind, track.id);
|
|
179
192
|
const sendingRtpParameters = utils.clone(this._sendingRtpParametersByKind[track.kind], {});
|
|
@@ -189,8 +202,12 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
189
202
|
let offer = await this._pc.createOffer();
|
|
190
203
|
let localSdpObject = sdpTransform.parse(offer.sdp);
|
|
191
204
|
let offerMediaObject;
|
|
192
|
-
if (!this._transportReady)
|
|
193
|
-
await this._setupTransport({
|
|
205
|
+
if (!this._transportReady) {
|
|
206
|
+
await this._setupTransport({
|
|
207
|
+
localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
|
|
208
|
+
localSdpObject
|
|
209
|
+
});
|
|
210
|
+
}
|
|
194
211
|
if (encodings && encodings.length > 1) {
|
|
195
212
|
logger.debug('send() | enabling legacy simulcast');
|
|
196
213
|
localSdpObject = sdpTransform.parse(offer.sdp);
|
|
@@ -203,7 +220,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
203
220
|
}
|
|
204
221
|
// Special case for VP9 with SVC.
|
|
205
222
|
let hackVp9Svc = false;
|
|
206
|
-
const layers = scalabilityModes_1.parse((encodings || [{}])[0].scalabilityMode);
|
|
223
|
+
const layers = (0, scalabilityModes_1.parse)((encodings || [{}])[0].scalabilityMode);
|
|
207
224
|
if (encodings &&
|
|
208
225
|
encodings.length === 1 &&
|
|
209
226
|
layers.spatialLayers > 1 &&
|
|
@@ -337,7 +354,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
337
354
|
throw new Error('associated RTCRtpTransceiver not found');
|
|
338
355
|
const parameters = transceiver.sender.getParameters();
|
|
339
356
|
parameters.encodings.forEach((encoding, idx) => {
|
|
340
|
-
parameters.encodings[idx] =
|
|
357
|
+
parameters.encodings[idx] = { ...encoding, ...params };
|
|
341
358
|
});
|
|
342
359
|
await transceiver.sender.setParameters(parameters);
|
|
343
360
|
}
|
|
@@ -349,6 +366,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
349
366
|
return transceiver.sender.getStats();
|
|
350
367
|
}
|
|
351
368
|
async sendDataChannel({ ordered, maxPacketLifeTime, maxRetransmits, label, protocol }) {
|
|
369
|
+
var _a;
|
|
352
370
|
this._assertSendDirection();
|
|
353
371
|
const options = {
|
|
354
372
|
negotiated: true,
|
|
@@ -371,8 +389,12 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
371
389
|
const localSdpObject = sdpTransform.parse(offer.sdp);
|
|
372
390
|
const offerMediaObject = localSdpObject.media
|
|
373
391
|
.find((m) => m.type === 'application');
|
|
374
|
-
if (!this._transportReady)
|
|
375
|
-
await this._setupTransport({
|
|
392
|
+
if (!this._transportReady) {
|
|
393
|
+
await this._setupTransport({
|
|
394
|
+
localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
|
|
395
|
+
localSdpObject
|
|
396
|
+
});
|
|
397
|
+
}
|
|
376
398
|
logger.debug('sendDataChannel() | calling pc.setLocalDescription() [offer:%o]', offer);
|
|
377
399
|
await this._pc.setLocalDescription(offer);
|
|
378
400
|
this._remoteSdp.sendSctpAssociation({ offerMediaObject });
|
|
@@ -390,6 +412,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
390
412
|
return { dataChannel, sctpStreamParameters };
|
|
391
413
|
}
|
|
392
414
|
async receive({ trackId, kind, rtpParameters }) {
|
|
415
|
+
var _a;
|
|
393
416
|
this._assertRecvDirection();
|
|
394
417
|
logger.debug('receive() [trackId:%s, kind:%s]', trackId, kind);
|
|
395
418
|
const localId = rtpParameters.mid || String(this._mapMidTransceiver.size);
|
|
@@ -414,8 +437,12 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
414
437
|
answerMediaObject
|
|
415
438
|
});
|
|
416
439
|
answer = { type: 'answer', sdp: sdpTransform.write(localSdpObject) };
|
|
417
|
-
if (!this._transportReady)
|
|
418
|
-
await this._setupTransport({
|
|
440
|
+
if (!this._transportReady) {
|
|
441
|
+
await this._setupTransport({
|
|
442
|
+
localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
|
|
443
|
+
localSdpObject
|
|
444
|
+
});
|
|
445
|
+
}
|
|
419
446
|
logger.debug('receive() | calling pc.setLocalDescription() [answer:%o]', answer);
|
|
420
447
|
await this._pc.setLocalDescription(answer);
|
|
421
448
|
const transceiver = this._pc.getTransceivers()
|
|
@@ -463,6 +490,7 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
463
490
|
return transceiver.receiver.getStats();
|
|
464
491
|
}
|
|
465
492
|
async receiveDataChannel({ sctpStreamParameters, label, protocol }) {
|
|
493
|
+
var _a;
|
|
466
494
|
this._assertRecvDirection();
|
|
467
495
|
const { streamId, ordered, maxPacketLifeTime, maxRetransmits } = sctpStreamParameters;
|
|
468
496
|
const options = {
|
|
@@ -486,7 +514,10 @@ class Chrome70 extends HandlerInterface_1.HandlerInterface {
|
|
|
486
514
|
const answer = await this._pc.createAnswer();
|
|
487
515
|
if (!this._transportReady) {
|
|
488
516
|
const localSdpObject = sdpTransform.parse(answer.sdp);
|
|
489
|
-
await this._setupTransport({
|
|
517
|
+
await this._setupTransport({
|
|
518
|
+
localDtlsRole: (_a = this._forcedLocalDtlsRole) !== null && _a !== void 0 ? _a : 'client',
|
|
519
|
+
localSdpObject
|
|
520
|
+
});
|
|
490
521
|
}
|
|
491
522
|
logger.debug('receiveDataChannel() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
492
523
|
await this._pc.setLocalDescription(answer);
|
|
@@ -7,6 +7,7 @@ export declare class Chrome74 extends HandlerInterface {
|
|
|
7
7
|
private _remoteSdp?;
|
|
8
8
|
private _sendingRtpParametersByKind?;
|
|
9
9
|
private _sendingRemoteRtpParametersByKind?;
|
|
10
|
+
private _forcedLocalDtlsRole?;
|
|
10
11
|
private _pc;
|
|
11
12
|
private readonly _mapMidTransceiver;
|
|
12
13
|
private readonly _sendStream;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chrome74.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome74.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,EAChC,+BAA+B,EAC/B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAY,MAAM,cAAc,CAAC;AACvD,OAAO,EACN,eAAe,EAGf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAM3E,qBAAa,QAAS,SAAQ,gBAAgB;IAG7C,OAAO,CAAC,UAAU,CAAC,CAAkB;IAErC,OAAO,CAAC,UAAU,CAAC,CAAY;IAE/B,OAAO,CAAC,2BAA2B,CAAC,CAAmC;IAGvE,OAAO,CAAC,iCAAiC,CAAC,CAAmC;
|
|
1
|
+
{"version":3,"file":"Chrome74.d.ts","sourceRoot":"","sources":["../../src/handlers/Chrome74.ts"],"names":[],"mappings":"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"}
|