mediasoup-client 3.9.1 → 3.9.3
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/Consumer.d.ts +2 -2
- package/lib/Consumer.d.ts.map +1 -1
- package/lib/Consumer.js +20 -4
- package/lib/DataConsumer.d.ts +2 -2
- package/lib/DataConsumer.d.ts.map +1 -1
- package/lib/DataConsumer.js +14 -4
- package/lib/DataProducer.d.ts +2 -2
- package/lib/DataProducer.d.ts.map +1 -1
- package/lib/DataProducer.js +12 -4
- package/lib/Device.d.ts +5 -5
- package/lib/Device.d.ts.map +1 -1
- package/lib/Device.js +22 -41
- package/lib/Logger.d.ts +0 -1
- package/lib/Logger.d.ts.map +1 -1
- package/lib/Logger.js +4 -4
- package/lib/Producer.d.ts +2 -2
- package/lib/Producer.d.ts.map +1 -1
- package/lib/Producer.js +28 -4
- package/lib/Transport.d.ts +8 -8
- package/lib/Transport.d.ts.map +1 -1
- package/lib/Transport.js +60 -78
- package/lib/enhancedEvents.d.ts +1 -1
- package/lib/enhancedEvents.d.ts.map +1 -1
- package/lib/handlers/Chrome111.d.ts +4 -4
- package/lib/handlers/Chrome111.d.ts.map +1 -1
- package/lib/handlers/Chrome111.js +37 -52
- package/lib/handlers/Chrome55.d.ts +4 -4
- package/lib/handlers/Chrome55.d.ts.map +1 -1
- package/lib/handlers/Chrome55.js +39 -53
- package/lib/handlers/Chrome67.d.ts +4 -4
- package/lib/handlers/Chrome67.d.ts.map +1 -1
- package/lib/handlers/Chrome67.js +39 -53
- package/lib/handlers/Chrome70.d.ts +4 -4
- package/lib/handlers/Chrome70.d.ts.map +1 -1
- package/lib/handlers/Chrome70.js +34 -48
- package/lib/handlers/Chrome74.d.ts +4 -4
- package/lib/handlers/Chrome74.d.ts.map +1 -1
- package/lib/handlers/Chrome74.js +37 -52
- package/lib/handlers/Edge11.d.ts +4 -4
- package/lib/handlers/Edge11.d.ts.map +1 -1
- package/lib/handlers/Edge11.js +27 -44
- package/lib/handlers/FakeHandler.d.ts +4 -4
- package/lib/handlers/FakeHandler.d.ts.map +1 -1
- package/lib/handlers/FakeHandler.js +25 -48
- package/lib/handlers/Firefox120.d.ts +4 -4
- package/lib/handlers/Firefox120.d.ts.map +1 -1
- package/lib/handlers/Firefox120.js +33 -51
- package/lib/handlers/Firefox60.d.ts +4 -4
- package/lib/handlers/Firefox60.d.ts.map +1 -1
- package/lib/handlers/Firefox60.js +33 -51
- package/lib/handlers/HandlerInterface.d.ts +5 -5
- package/lib/handlers/HandlerInterface.d.ts.map +1 -1
- package/lib/handlers/ReactNative.d.ts +4 -4
- package/lib/handlers/ReactNative.d.ts.map +1 -1
- package/lib/handlers/ReactNative.js +39 -53
- package/lib/handlers/ReactNativeUnifiedPlan.d.ts +4 -4
- package/lib/handlers/ReactNativeUnifiedPlan.d.ts.map +1 -1
- package/lib/handlers/ReactNativeUnifiedPlan.js +37 -52
- package/lib/handlers/Safari11.d.ts +4 -4
- package/lib/handlers/Safari11.d.ts.map +1 -1
- package/lib/handlers/Safari11.js +39 -53
- package/lib/handlers/Safari12.d.ts +4 -4
- package/lib/handlers/Safari12.d.ts.map +1 -1
- package/lib/handlers/Safari12.js +37 -51
- package/lib/handlers/ortc/edgeUtils.d.ts +1 -1
- package/lib/handlers/ortc/edgeUtils.d.ts.map +1 -1
- package/lib/handlers/ortc/edgeUtils.js +2 -35
- package/lib/handlers/ortc/utils.d.ts +1 -1
- package/lib/handlers/ortc/utils.d.ts.map +1 -1
- package/lib/handlers/sdp/MediaSection.d.ts +5 -6
- package/lib/handlers/sdp/MediaSection.d.ts.map +1 -1
- package/lib/handlers/sdp/MediaSection.js +10 -39
- package/lib/handlers/sdp/RemoteSdp.d.ts +9 -6
- package/lib/handlers/sdp/RemoteSdp.d.ts.map +1 -1
- package/lib/handlers/sdp/RemoteSdp.js +29 -40
- package/lib/handlers/sdp/commonUtils.d.ts +2 -2
- package/lib/handlers/sdp/commonUtils.d.ts.map +1 -1
- package/lib/handlers/sdp/commonUtils.js +11 -44
- package/lib/handlers/sdp/plainRtpUtils.d.ts +1 -1
- package/lib/handlers/sdp/plainRtpUtils.d.ts.map +1 -1
- package/lib/handlers/sdp/plainRtpUtils.js +4 -4
- package/lib/handlers/sdp/planBUtils.d.ts +1 -1
- package/lib/handlers/sdp/planBUtils.d.ts.map +1 -1
- package/lib/handlers/sdp/planBUtils.js +6 -6
- package/lib/handlers/sdp/unifiedPlanUtils.d.ts +1 -1
- package/lib/handlers/sdp/unifiedPlanUtils.d.ts.map +1 -1
- package/lib/handlers/sdp/unifiedPlanUtils.js +4 -4
- package/lib/index.d.ts +11 -5
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +22 -44
- package/lib/ortc.d.ts +2 -2
- package/lib/ortc.d.ts.map +1 -1
- package/lib/ortc.js +6 -39
- package/lib/test/fakeParameters.d.ts +1 -1
- package/lib/test/fakeParameters.d.ts.map +1 -1
- package/lib/test/fakeParameters.js +1 -34
- package/lib/test/test.js +20 -53
- package/lib/test/uaTestCases.d.ts +1 -1
- package/lib/test/uaTestCases.d.ts.map +1 -1
- package/npm-scripts.mjs +34 -28
- package/package.json +32 -34
|
@@ -1,46 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
3
|
exports.Firefox60 = void 0;
|
|
37
|
-
const sdpTransform =
|
|
4
|
+
const sdpTransform = require("sdp-transform");
|
|
38
5
|
const Logger_1 = require("../Logger");
|
|
39
6
|
const errors_1 = require("../errors");
|
|
40
|
-
const utils =
|
|
41
|
-
const ortc =
|
|
42
|
-
const sdpCommonUtils =
|
|
43
|
-
const sdpUnifiedPlanUtils =
|
|
7
|
+
const utils = require("../utils");
|
|
8
|
+
const ortc = require("../ortc");
|
|
9
|
+
const sdpCommonUtils = require("./sdp/commonUtils");
|
|
10
|
+
const sdpUnifiedPlanUtils = require("./sdp/unifiedPlanUtils");
|
|
44
11
|
const HandlerInterface_1 = require("./HandlerInterface");
|
|
45
12
|
const RemoteSdp_1 = require("./sdp/RemoteSdp");
|
|
46
13
|
const scalabilityModes_1 = require("../scalabilityModes");
|
|
@@ -48,6 +15,29 @@ const logger = new Logger_1.Logger('Firefox60');
|
|
|
48
15
|
const NAME = 'Firefox60';
|
|
49
16
|
const SCTP_NUM_STREAMS = { OS: 16, MIS: 2048 };
|
|
50
17
|
class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
18
|
+
// Closed flag.
|
|
19
|
+
_closed = false;
|
|
20
|
+
// Handler direction.
|
|
21
|
+
_direction;
|
|
22
|
+
// Remote SDP handler.
|
|
23
|
+
_remoteSdp;
|
|
24
|
+
// Generic sending RTP parameters for audio and video.
|
|
25
|
+
_sendingRtpParametersByKind;
|
|
26
|
+
// Generic sending RTP parameters for audio and video suitable for the SDP
|
|
27
|
+
// remote answer.
|
|
28
|
+
_sendingRemoteRtpParametersByKind;
|
|
29
|
+
// RTCPeerConnection instance.
|
|
30
|
+
_pc;
|
|
31
|
+
// Map of RTCTransceivers indexed by MID.
|
|
32
|
+
_mapMidTransceiver = new Map();
|
|
33
|
+
// Local stream for sending.
|
|
34
|
+
_sendStream = new MediaStream();
|
|
35
|
+
// Whether a DataChannel m=application section has been created.
|
|
36
|
+
_hasDataChannelMediaSection = false;
|
|
37
|
+
// Sending DataChannel id value counter. Incremented for each new DataChannel.
|
|
38
|
+
_nextSendSctpStreamId = 0;
|
|
39
|
+
// Got transport local and remote parameters.
|
|
40
|
+
_transportReady = false;
|
|
51
41
|
/**
|
|
52
42
|
* Creates a factory function.
|
|
53
43
|
*/
|
|
@@ -56,18 +46,6 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
56
46
|
}
|
|
57
47
|
constructor() {
|
|
58
48
|
super();
|
|
59
|
-
// Closed flag.
|
|
60
|
-
this._closed = false;
|
|
61
|
-
// Map of RTCTransceivers indexed by MID.
|
|
62
|
-
this._mapMidTransceiver = new Map();
|
|
63
|
-
// Local stream for sending.
|
|
64
|
-
this._sendStream = new MediaStream();
|
|
65
|
-
// Whether a DataChannel m=application section has been created.
|
|
66
|
-
this._hasDataChannelMediaSection = false;
|
|
67
|
-
// Sending DataChannel id value counter. Incremented for each new DataChannel.
|
|
68
|
-
this._nextSendSctpStreamId = 0;
|
|
69
|
-
// Got transport local and remote parameters.
|
|
70
|
-
this._transportReady = false;
|
|
71
49
|
}
|
|
72
50
|
get name() {
|
|
73
51
|
return NAME;
|
|
@@ -291,6 +269,11 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
291
269
|
}
|
|
292
270
|
const offer = await this._pc.createOffer();
|
|
293
271
|
let localSdpObject = sdpTransform.parse(offer.sdp);
|
|
272
|
+
// @ts-expect-error --- sdpTransform.SessionDescription type doesn't
|
|
273
|
+
// define extmapAllowMixed field.
|
|
274
|
+
if (localSdpObject.extmapAllowMixed) {
|
|
275
|
+
this._remoteSdp.setSessionExtmapAllowMixed();
|
|
276
|
+
}
|
|
294
277
|
// In Firefox use DTLS role client even if we are the "offerer" since
|
|
295
278
|
// Firefox does not respect ICE-Lite.
|
|
296
279
|
if (!this._transportReady) {
|
|
@@ -348,7 +331,6 @@ class Firefox60 extends HandlerInterface_1.HandlerInterface {
|
|
|
348
331
|
offerRtpParameters: sendingRtpParameters,
|
|
349
332
|
answerRtpParameters: sendingRemoteRtpParameters,
|
|
350
333
|
codecOptions,
|
|
351
|
-
extmapAllowMixed: true,
|
|
352
334
|
});
|
|
353
335
|
const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
|
|
354
336
|
logger.debug('send() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { EnhancedEventEmitter } from '../enhancedEvents';
|
|
2
|
-
import { IceParameters, IceCandidate, DtlsParameters, IceGatheringState, ConnectionState } from '../Transport';
|
|
3
|
-
import { ProducerCodecOptions, OnRtpSenderCallback } from '../Producer';
|
|
4
|
-
import { OnRtpReceiverCallback } from '../Consumer';
|
|
5
|
-
import { RtpCapabilities, RtpCodecCapability, RtpParameters, RtpEncodingParameters } from '../RtpParameters';
|
|
6
|
-
import { SctpCapabilities, SctpParameters, SctpStreamParameters } from '../SctpParameters';
|
|
2
|
+
import type { IceParameters, IceCandidate, DtlsParameters, IceGatheringState, ConnectionState } from '../Transport';
|
|
3
|
+
import type { ProducerCodecOptions, OnRtpSenderCallback } from '../Producer';
|
|
4
|
+
import type { OnRtpReceiverCallback } from '../Consumer';
|
|
5
|
+
import type { RtpCapabilities, RtpCodecCapability, RtpParameters, RtpEncodingParameters } from '../RtpParameters';
|
|
6
|
+
import type { SctpCapabilities, SctpParameters, SctpStreamParameters } from '../SctpParameters';
|
|
7
7
|
export type HandlerFactory = () => HandlerInterface;
|
|
8
8
|
export type HandlerRunOptions = {
|
|
9
9
|
direction: 'send' | 'recv';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HandlerInterface.d.ts","sourceRoot":"","sources":["../../src/handlers/HandlerInterface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"HandlerInterface.d.ts","sourceRoot":"","sources":["../../src/handlers/HandlerInterface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { HandlerFactory, HandlerInterface, HandlerRunOptions, HandlerSendOptions, HandlerSendResult, HandlerReceiveOptions, HandlerReceiveResult, HandlerSendDataChannelOptions, HandlerSendDataChannelResult, HandlerReceiveDataChannelOptions, HandlerReceiveDataChannelResult } from './HandlerInterface';
|
|
2
|
-
import { IceParameters } from '../Transport';
|
|
3
|
-
import { RtpCapabilities } from '../RtpParameters';
|
|
4
|
-
import { SctpCapabilities } from '../SctpParameters';
|
|
1
|
+
import { type HandlerFactory, HandlerInterface, type HandlerRunOptions, type HandlerSendOptions, type HandlerSendResult, type HandlerReceiveOptions, type HandlerReceiveResult, type HandlerSendDataChannelOptions, type HandlerSendDataChannelResult, type HandlerReceiveDataChannelOptions, type HandlerReceiveDataChannelResult } from './HandlerInterface';
|
|
2
|
+
import type { IceParameters } from '../Transport';
|
|
3
|
+
import type { RtpCapabilities } from '../RtpParameters';
|
|
4
|
+
import type { SctpCapabilities } from '../SctpParameters';
|
|
5
5
|
export declare class ReactNative extends HandlerInterface {
|
|
6
6
|
private _direction?;
|
|
7
7
|
private _remoteSdp?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactNative.d.ts","sourceRoot":"","sources":["../../src/handlers/ReactNative.ts"],"names":[],"mappings":"AAOA,OAAO,EACN,cAAc,
|
|
1
|
+
{"version":3,"file":"ReactNative.d.ts","sourceRoot":"","sources":["../../src/handlers/ReactNative.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,52 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
3
|
exports.ReactNative = void 0;
|
|
37
|
-
const sdpTransform =
|
|
4
|
+
const sdpTransform = require("sdp-transform");
|
|
38
5
|
const Logger_1 = require("../Logger");
|
|
39
6
|
const errors_1 = require("../errors");
|
|
40
|
-
const utils =
|
|
41
|
-
const ortc =
|
|
42
|
-
const sdpCommonUtils =
|
|
43
|
-
const sdpPlanBUtils =
|
|
7
|
+
const utils = require("../utils");
|
|
8
|
+
const ortc = require("../ortc");
|
|
9
|
+
const sdpCommonUtils = require("./sdp/commonUtils");
|
|
10
|
+
const sdpPlanBUtils = require("./sdp/planBUtils");
|
|
44
11
|
const HandlerInterface_1 = require("./HandlerInterface");
|
|
45
12
|
const RemoteSdp_1 = require("./sdp/RemoteSdp");
|
|
46
13
|
const logger = new Logger_1.Logger('ReactNative');
|
|
47
14
|
const NAME = 'ReactNative';
|
|
48
15
|
const SCTP_NUM_STREAMS = { OS: 1024, MIS: 1024 };
|
|
49
16
|
class ReactNative extends HandlerInterface_1.HandlerInterface {
|
|
17
|
+
// Handler direction.
|
|
18
|
+
_direction;
|
|
19
|
+
// Remote SDP handler.
|
|
20
|
+
_remoteSdp;
|
|
21
|
+
// Generic sending RTP parameters for audio and video.
|
|
22
|
+
_sendingRtpParametersByKind;
|
|
23
|
+
// Generic sending RTP parameters for audio and video suitable for the SDP
|
|
24
|
+
// remote answer.
|
|
25
|
+
_sendingRemoteRtpParametersByKind;
|
|
26
|
+
// Initial server side DTLS role. If not 'auto', it will force the opposite
|
|
27
|
+
// value in client side.
|
|
28
|
+
_forcedLocalDtlsRole;
|
|
29
|
+
// RTCPeerConnection instance.
|
|
30
|
+
_pc;
|
|
31
|
+
// Local stream for sending.
|
|
32
|
+
_sendStream = new MediaStream();
|
|
33
|
+
// Map of sending MediaStreamTracks indexed by localId.
|
|
34
|
+
_mapSendLocalIdTrack = new Map();
|
|
35
|
+
// Next sending localId.
|
|
36
|
+
_nextSendLocalId = 0;
|
|
37
|
+
// Map of MID, RTP parameters and RTCRtpReceiver indexed by local id.
|
|
38
|
+
// Value is an Object with mid, rtpParameters and rtpReceiver.
|
|
39
|
+
_mapRecvLocalIdInfo = new Map();
|
|
40
|
+
// Whether a DataChannel m=application section has been created.
|
|
41
|
+
_hasDataChannelMediaSection = false;
|
|
42
|
+
// Sending DataChannel id value counter. Incremented for each new DataChannel.
|
|
43
|
+
_nextSendSctpStreamId = 0;
|
|
44
|
+
// Got transport local and remote parameters.
|
|
45
|
+
_transportReady = false;
|
|
50
46
|
/**
|
|
51
47
|
* Creates a factory function.
|
|
52
48
|
*/
|
|
@@ -55,21 +51,6 @@ class ReactNative extends HandlerInterface_1.HandlerInterface {
|
|
|
55
51
|
}
|
|
56
52
|
constructor() {
|
|
57
53
|
super();
|
|
58
|
-
// Local stream for sending.
|
|
59
|
-
this._sendStream = new MediaStream();
|
|
60
|
-
// Map of sending MediaStreamTracks indexed by localId.
|
|
61
|
-
this._mapSendLocalIdTrack = new Map();
|
|
62
|
-
// Next sending localId.
|
|
63
|
-
this._nextSendLocalId = 0;
|
|
64
|
-
// Map of MID, RTP parameters and RTCRtpReceiver indexed by local id.
|
|
65
|
-
// Value is an Object with mid, rtpParameters and rtpReceiver.
|
|
66
|
-
this._mapRecvLocalIdInfo = new Map();
|
|
67
|
-
// Whether a DataChannel m=application section has been created.
|
|
68
|
-
this._hasDataChannelMediaSection = false;
|
|
69
|
-
// Sending DataChannel id value counter. Incremented for each new DataChannel.
|
|
70
|
-
this._nextSendSctpStreamId = 0;
|
|
71
|
-
// Got transport local and remote parameters.
|
|
72
|
-
this._transportReady = false;
|
|
73
54
|
}
|
|
74
55
|
get name() {
|
|
75
56
|
return NAME;
|
|
@@ -240,6 +221,11 @@ class ReactNative extends HandlerInterface_1.HandlerInterface {
|
|
|
240
221
|
this._pc.addStream(this._sendStream);
|
|
241
222
|
let offer = await this._pc.createOffer();
|
|
242
223
|
let localSdpObject = sdpTransform.parse(offer.sdp);
|
|
224
|
+
// @ts-expect-error --- sdpTransform.SessionDescription type doesn't
|
|
225
|
+
// define extmapAllowMixed field.
|
|
226
|
+
if (localSdpObject.extmapAllowMixed) {
|
|
227
|
+
this._remoteSdp.setSessionExtmapAllowMixed();
|
|
228
|
+
}
|
|
243
229
|
let offerMediaObject;
|
|
244
230
|
const sendingRtpParameters = utils.clone(this._sendingRtpParametersByKind[track.kind]);
|
|
245
231
|
sendingRtpParameters.codecs = ortc.reduceCodecs(sendingRtpParameters.codecs);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { HandlerFactory, HandlerInterface, HandlerRunOptions, HandlerSendOptions, HandlerSendResult, HandlerReceiveOptions, HandlerReceiveResult, HandlerSendDataChannelOptions, HandlerSendDataChannelResult, HandlerReceiveDataChannelOptions, HandlerReceiveDataChannelResult } from './HandlerInterface';
|
|
2
|
-
import { IceParameters } from '../Transport';
|
|
3
|
-
import { RtpCapabilities } from '../RtpParameters';
|
|
4
|
-
import { SctpCapabilities } from '../SctpParameters';
|
|
1
|
+
import { type HandlerFactory, HandlerInterface, type HandlerRunOptions, type HandlerSendOptions, type HandlerSendResult, type HandlerReceiveOptions, type HandlerReceiveResult, type HandlerSendDataChannelOptions, type HandlerSendDataChannelResult, type HandlerReceiveDataChannelOptions, type HandlerReceiveDataChannelResult } from './HandlerInterface';
|
|
2
|
+
import type { IceParameters } from '../Transport';
|
|
3
|
+
import type { RtpCapabilities } from '../RtpParameters';
|
|
4
|
+
import type { SctpCapabilities } from '../SctpParameters';
|
|
5
5
|
export declare class ReactNativeUnifiedPlan extends HandlerInterface {
|
|
6
6
|
private _closed;
|
|
7
7
|
private _direction?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactNativeUnifiedPlan.d.ts","sourceRoot":"","sources":["../../src/handlers/ReactNativeUnifiedPlan.ts"],"names":[],"mappings":"AAQA,OAAO,EACN,cAAc,
|
|
1
|
+
{"version":3,"file":"ReactNativeUnifiedPlan.d.ts","sourceRoot":"","sources":["../../src/handlers/ReactNativeUnifiedPlan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,46 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
3
|
exports.ReactNativeUnifiedPlan = void 0;
|
|
37
|
-
const sdpTransform =
|
|
4
|
+
const sdpTransform = require("sdp-transform");
|
|
38
5
|
const Logger_1 = require("../Logger");
|
|
39
|
-
const utils =
|
|
40
|
-
const ortc =
|
|
41
|
-
const sdpCommonUtils =
|
|
42
|
-
const sdpUnifiedPlanUtils =
|
|
43
|
-
const ortcUtils =
|
|
6
|
+
const utils = require("../utils");
|
|
7
|
+
const ortc = require("../ortc");
|
|
8
|
+
const sdpCommonUtils = require("./sdp/commonUtils");
|
|
9
|
+
const sdpUnifiedPlanUtils = require("./sdp/unifiedPlanUtils");
|
|
10
|
+
const ortcUtils = require("./ortc/utils");
|
|
44
11
|
const errors_1 = require("../errors");
|
|
45
12
|
const HandlerInterface_1 = require("./HandlerInterface");
|
|
46
13
|
const RemoteSdp_1 = require("./sdp/RemoteSdp");
|
|
@@ -49,6 +16,32 @@ const logger = new Logger_1.Logger('ReactNativeUnifiedPlan');
|
|
|
49
16
|
const NAME = 'ReactNativeUnifiedPlan';
|
|
50
17
|
const SCTP_NUM_STREAMS = { OS: 1024, MIS: 1024 };
|
|
51
18
|
class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
19
|
+
// Closed flag.
|
|
20
|
+
_closed = false;
|
|
21
|
+
// Handler direction.
|
|
22
|
+
_direction;
|
|
23
|
+
// Remote SDP handler.
|
|
24
|
+
_remoteSdp;
|
|
25
|
+
// Generic sending RTP parameters for audio and video.
|
|
26
|
+
_sendingRtpParametersByKind;
|
|
27
|
+
// Generic sending RTP parameters for audio and video suitable for the SDP
|
|
28
|
+
// remote answer.
|
|
29
|
+
_sendingRemoteRtpParametersByKind;
|
|
30
|
+
// Initial server side DTLS role. If not 'auto', it will force the opposite
|
|
31
|
+
// value in client side.
|
|
32
|
+
_forcedLocalDtlsRole;
|
|
33
|
+
// RTCPeerConnection instance.
|
|
34
|
+
_pc;
|
|
35
|
+
// Map of RTCTransceivers indexed by MID.
|
|
36
|
+
_mapMidTransceiver = new Map();
|
|
37
|
+
// Local stream for sending.
|
|
38
|
+
_sendStream = new MediaStream();
|
|
39
|
+
// Whether a DataChannel m=application section has been created.
|
|
40
|
+
_hasDataChannelMediaSection = false;
|
|
41
|
+
// Sending DataChannel id value counter. Incremented for each new DataChannel.
|
|
42
|
+
_nextSendSctpStreamId = 0;
|
|
43
|
+
// Got transport local and remote parameters.
|
|
44
|
+
_transportReady = false;
|
|
52
45
|
/**
|
|
53
46
|
* Creates a factory function.
|
|
54
47
|
*/
|
|
@@ -57,18 +50,6 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
57
50
|
}
|
|
58
51
|
constructor() {
|
|
59
52
|
super();
|
|
60
|
-
// Closed flag.
|
|
61
|
-
this._closed = false;
|
|
62
|
-
// Map of RTCTransceivers indexed by MID.
|
|
63
|
-
this._mapMidTransceiver = new Map();
|
|
64
|
-
// Local stream for sending.
|
|
65
|
-
this._sendStream = new MediaStream();
|
|
66
|
-
// Whether a DataChannel m=application section has been created.
|
|
67
|
-
this._hasDataChannelMediaSection = false;
|
|
68
|
-
// Sending DataChannel id value counter. Incremented for each new DataChannel.
|
|
69
|
-
this._nextSendSctpStreamId = 0;
|
|
70
|
-
// Got transport local and remote parameters.
|
|
71
|
-
this._transportReady = false;
|
|
72
53
|
}
|
|
73
54
|
get name() {
|
|
74
55
|
return NAME;
|
|
@@ -263,6 +244,11 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
263
244
|
}
|
|
264
245
|
let offer = await this._pc.createOffer();
|
|
265
246
|
let localSdpObject = sdpTransform.parse(offer.sdp);
|
|
247
|
+
// @ts-expect-error --- sdpTransform.SessionDescription type doesn't
|
|
248
|
+
// define extmapAllowMixed field.
|
|
249
|
+
if (localSdpObject.extmapAllowMixed) {
|
|
250
|
+
this._remoteSdp.setSessionExtmapAllowMixed();
|
|
251
|
+
}
|
|
266
252
|
let offerMediaObject;
|
|
267
253
|
if (!this._transportReady) {
|
|
268
254
|
await this.setupTransport({
|
|
@@ -352,7 +338,6 @@ class ReactNativeUnifiedPlan extends HandlerInterface_1.HandlerInterface {
|
|
|
352
338
|
offerRtpParameters: sendingRtpParameters,
|
|
353
339
|
answerRtpParameters: sendingRemoteRtpParameters,
|
|
354
340
|
codecOptions,
|
|
355
|
-
extmapAllowMixed: true,
|
|
356
341
|
});
|
|
357
342
|
const answer = { type: 'answer', sdp: this._remoteSdp.getSdp() };
|
|
358
343
|
logger.debug('send() | calling pc.setRemoteDescription() [answer:%o]', answer);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { HandlerFactory, HandlerInterface, HandlerRunOptions, HandlerSendOptions, HandlerSendResult, HandlerReceiveOptions, HandlerReceiveResult, HandlerSendDataChannelOptions, HandlerSendDataChannelResult, HandlerReceiveDataChannelOptions, HandlerReceiveDataChannelResult } from './HandlerInterface';
|
|
2
|
-
import { IceParameters } from '../Transport';
|
|
3
|
-
import { RtpCapabilities } from '../RtpParameters';
|
|
4
|
-
import { SctpCapabilities } from '../SctpParameters';
|
|
1
|
+
import { type HandlerFactory, HandlerInterface, type HandlerRunOptions, type HandlerSendOptions, type HandlerSendResult, type HandlerReceiveOptions, type HandlerReceiveResult, type HandlerSendDataChannelOptions, type HandlerSendDataChannelResult, type HandlerReceiveDataChannelOptions, type HandlerReceiveDataChannelResult } from './HandlerInterface';
|
|
2
|
+
import type { IceParameters } from '../Transport';
|
|
3
|
+
import type { RtpCapabilities } from '../RtpParameters';
|
|
4
|
+
import type { SctpCapabilities } from '../SctpParameters';
|
|
5
5
|
export declare class Safari11 extends HandlerInterface {
|
|
6
6
|
private _direction?;
|
|
7
7
|
private _remoteSdp?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Safari11.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari11.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,cAAc,
|
|
1
|
+
{"version":3,"file":"Safari11.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari11.ts"],"names":[],"mappings":"AAMA,OAAO,EACN,KAAK,cAAc,EACnB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,aAAa,EAAY,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,kBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AAOhF,qBAAa,QAAS,SAAQ,gBAAgB;IAE7C,OAAO,CAAC,UAAU,CAAC,CAAkB;IAErC,OAAO,CAAC,UAAU,CAAC,CAAY;IAE/B,OAAO,CAAC,2BAA2B,CAAC,CAAmC;IAGvE,OAAO,CAAC,iCAAiC,CAAC,CAAmC;IAG7E,OAAO,CAAC,oBAAoB,CAAC,CAAW;IAExC,OAAO,CAAC,GAAG,CAAM;IAEjB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAC9B;IAEX,OAAO,CAAC,gBAAgB,CAAK;IAG7B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAOtB;IAEd,OAAO,CAAC,2BAA2B,CAAS;IAE5C,OAAO,CAAC,qBAAqB,CAAK;IAElC,OAAO,CAAC,eAAe,CAAS;IAEhC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,cAAc;;IAQtC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,KAAK,IAAI,IAAI;IAaP,wBAAwB,IAAI,OAAO,CAAC,eAAe,CAAC;IAoCpD,yBAAyB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAQ5D,GAAG,CAAC,EACH,SAAS,EACT,aAAa,EACb,aAAa,EACb,cAAc,EACd,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,GACvB,EAAE,iBAAiB,GAAG,IAAI;IAsGrB,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3D,UAAU,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDvD,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAI5C,IAAI,CAAC,EACV,KAAK,EACL,SAAS,EACT,YAAY,EACZ,KAAK,GACL,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA2I5C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsD3C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,YAAY,CACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAC5B,OAAO,CAAC,IAAI,CAAC;IAkCV,kBAAkB,CACvB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IA8BV,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BrE,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAYxD,eAAe,CAAC,EACrB,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,KAAK,EACL,QAAQ,GACR,EAAE,6BAA6B,GAAG,OAAO,CAAC,4BAA4B,CAAC;IAmElE,OAAO,CACZ,WAAW,EAAE,qBAAqB,EAAE,GAClC,OAAO,CAAC,oBAAoB,EAAE,CAAC;IA8F5B,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqChD,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAY1D,cAAc,CAEnB,QAAQ,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,IAAI,CAAC;IAIV,eAAe,CAEpB,QAAQ,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,IAAI,CAAC;IAIV,kBAAkB,CAAC,EACxB,oBAAoB,EACpB,KAAK,EACL,QAAQ,GACR,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC;YAyDhE,cAAc;IAgC5B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,mBAAmB;CAO3B"}
|
package/lib/handlers/Safari11.js
CHANGED
|
@@ -1,51 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
3
|
exports.Safari11 = void 0;
|
|
37
|
-
const sdpTransform =
|
|
4
|
+
const sdpTransform = require("sdp-transform");
|
|
38
5
|
const Logger_1 = require("../Logger");
|
|
39
|
-
const utils =
|
|
40
|
-
const ortc =
|
|
41
|
-
const sdpCommonUtils =
|
|
42
|
-
const sdpPlanBUtils =
|
|
6
|
+
const utils = require("../utils");
|
|
7
|
+
const ortc = require("../ortc");
|
|
8
|
+
const sdpCommonUtils = require("./sdp/commonUtils");
|
|
9
|
+
const sdpPlanBUtils = require("./sdp/planBUtils");
|
|
43
10
|
const HandlerInterface_1 = require("./HandlerInterface");
|
|
44
11
|
const RemoteSdp_1 = require("./sdp/RemoteSdp");
|
|
45
12
|
const logger = new Logger_1.Logger('Safari11');
|
|
46
13
|
const NAME = 'Safari11';
|
|
47
14
|
const SCTP_NUM_STREAMS = { OS: 1024, MIS: 1024 };
|
|
48
15
|
class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
16
|
+
// Handler direction.
|
|
17
|
+
_direction;
|
|
18
|
+
// Remote SDP handler.
|
|
19
|
+
_remoteSdp;
|
|
20
|
+
// Generic sending RTP parameters for audio and video.
|
|
21
|
+
_sendingRtpParametersByKind;
|
|
22
|
+
// Generic sending RTP parameters for audio and video suitable for the SDP
|
|
23
|
+
// remote answer.
|
|
24
|
+
_sendingRemoteRtpParametersByKind;
|
|
25
|
+
// Initial server side DTLS role. If not 'auto', it will force the opposite
|
|
26
|
+
// value in client side.
|
|
27
|
+
_forcedLocalDtlsRole;
|
|
28
|
+
// RTCPeerConnection instance.
|
|
29
|
+
_pc;
|
|
30
|
+
// Local stream for sending.
|
|
31
|
+
_sendStream = new MediaStream();
|
|
32
|
+
// Map of RTCRtpSender indexed by localId.
|
|
33
|
+
_mapSendLocalIdRtpSender = new Map();
|
|
34
|
+
// Next sending localId.
|
|
35
|
+
_nextSendLocalId = 0;
|
|
36
|
+
// Map of MID, RTP parameters and RTCRtpReceiver indexed by local id.
|
|
37
|
+
// Value is an Object with mid, rtpParameters and rtpReceiver.
|
|
38
|
+
_mapRecvLocalIdInfo = new Map();
|
|
39
|
+
// Whether a DataChannel m=application section has been created.
|
|
40
|
+
_hasDataChannelMediaSection = false;
|
|
41
|
+
// Sending DataChannel id value counter. Incremented for each new DataChannel.
|
|
42
|
+
_nextSendSctpStreamId = 0;
|
|
43
|
+
// Got transport local and remote parameters.
|
|
44
|
+
_transportReady = false;
|
|
49
45
|
/**
|
|
50
46
|
* Creates a factory function.
|
|
51
47
|
*/
|
|
@@ -54,21 +50,6 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
54
50
|
}
|
|
55
51
|
constructor() {
|
|
56
52
|
super();
|
|
57
|
-
// Local stream for sending.
|
|
58
|
-
this._sendStream = new MediaStream();
|
|
59
|
-
// Map of RTCRtpSender indexed by localId.
|
|
60
|
-
this._mapSendLocalIdRtpSender = new Map();
|
|
61
|
-
// Next sending localId.
|
|
62
|
-
this._nextSendLocalId = 0;
|
|
63
|
-
// Map of MID, RTP parameters and RTCRtpReceiver indexed by local id.
|
|
64
|
-
// Value is an Object with mid, rtpParameters and rtpReceiver.
|
|
65
|
-
this._mapRecvLocalIdInfo = new Map();
|
|
66
|
-
// Whether a DataChannel m=application section has been created.
|
|
67
|
-
this._hasDataChannelMediaSection = false;
|
|
68
|
-
// Sending DataChannel id value counter. Incremented for each new DataChannel.
|
|
69
|
-
this._nextSendSctpStreamId = 0;
|
|
70
|
-
// Got transport local and remote parameters.
|
|
71
|
-
this._transportReady = false;
|
|
72
53
|
}
|
|
73
54
|
get name() {
|
|
74
55
|
return NAME;
|
|
@@ -234,6 +215,11 @@ class Safari11 extends HandlerInterface_1.HandlerInterface {
|
|
|
234
215
|
this._pc.addTrack(track, this._sendStream);
|
|
235
216
|
let offer = await this._pc.createOffer();
|
|
236
217
|
let localSdpObject = sdpTransform.parse(offer.sdp);
|
|
218
|
+
// @ts-expect-error --- sdpTransform.SessionDescription type doesn't
|
|
219
|
+
// define extmapAllowMixed field.
|
|
220
|
+
if (localSdpObject.extmapAllowMixed) {
|
|
221
|
+
this._remoteSdp.setSessionExtmapAllowMixed();
|
|
222
|
+
}
|
|
237
223
|
let offerMediaObject;
|
|
238
224
|
const sendingRtpParameters = utils.clone(this._sendingRtpParametersByKind[track.kind]);
|
|
239
225
|
sendingRtpParameters.codecs = ortc.reduceCodecs(sendingRtpParameters.codecs);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { HandlerFactory, HandlerInterface, HandlerRunOptions, HandlerSendOptions, HandlerSendResult, HandlerReceiveOptions, HandlerReceiveResult, HandlerSendDataChannelOptions, HandlerSendDataChannelResult, HandlerReceiveDataChannelOptions, HandlerReceiveDataChannelResult } from './HandlerInterface';
|
|
2
|
-
import { IceParameters } from '../Transport';
|
|
3
|
-
import { RtpCapabilities } from '../RtpParameters';
|
|
4
|
-
import { SctpCapabilities } from '../SctpParameters';
|
|
1
|
+
import { type HandlerFactory, HandlerInterface, type HandlerRunOptions, type HandlerSendOptions, type HandlerSendResult, type HandlerReceiveOptions, type HandlerReceiveResult, type HandlerSendDataChannelOptions, type HandlerSendDataChannelResult, type HandlerReceiveDataChannelOptions, type HandlerReceiveDataChannelResult } from './HandlerInterface';
|
|
2
|
+
import type { IceParameters } from '../Transport';
|
|
3
|
+
import type { RtpCapabilities } from '../RtpParameters';
|
|
4
|
+
import type { SctpCapabilities } from '../SctpParameters';
|
|
5
5
|
export declare class Safari12 extends HandlerInterface {
|
|
6
6
|
private _closed;
|
|
7
7
|
private _direction?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Safari12.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari12.ts"],"names":[],"mappings":"AAQA,OAAO,EACN,cAAc,
|
|
1
|
+
{"version":3,"file":"Safari12.d.ts","sourceRoot":"","sources":["../../src/handlers/Safari12.ts"],"names":[],"mappings":"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"}
|