@whereby.com/media 1.31.0 → 1.32.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +34 -66
- package/dist/index.d.cts +3 -36
- package/dist/index.d.mts +3 -36
- package/dist/index.d.ts +3 -36
- package/dist/index.mjs +35 -63
- package/dist/legacy-esm.js +35 -63
- package/package.json +4 -3
package/dist/index.cjs
CHANGED
|
@@ -870,7 +870,7 @@ const adapter$6 = (_a$6 = adapterRaw.default) !== null && _a$6 !== void 0 ? _a$6
|
|
|
870
870
|
const logger$b = new Logger();
|
|
871
871
|
const browserName$2 = adapter$6.browserDetails.browser;
|
|
872
872
|
const browserVersion$1 = adapter$6.browserDetails.version;
|
|
873
|
-
function setCodecPreferenceSDP(sdp,
|
|
873
|
+
function setCodecPreferenceSDP(sdp, redOn) {
|
|
874
874
|
var _a, _b;
|
|
875
875
|
try {
|
|
876
876
|
const sdpObject = sdpTransform__namespace.parse(sdp);
|
|
@@ -893,7 +893,7 @@ function setCodecPreferenceSDP(sdp, vp9On, redOn) {
|
|
|
893
893
|
if (Array.isArray(mediaVideo === null || mediaVideo === void 0 ? void 0 : mediaVideo.rtp)) {
|
|
894
894
|
const rtp = mediaVideo.rtp;
|
|
895
895
|
for (let i = 0; i < rtp.length; i++) {
|
|
896
|
-
if (
|
|
896
|
+
if (rtp[i].codec === "VP9") {
|
|
897
897
|
const payloads = (_b = mediaVideo.payloads) === null || _b === void 0 ? void 0 : _b.split(" ");
|
|
898
898
|
const pt = payloads === null || payloads === void 0 ? void 0 : payloads.indexOf("" + rtp[i].payload);
|
|
899
899
|
if (pt && pt !== -1 && pt >= 0) {
|
|
@@ -914,18 +914,25 @@ function setCodecPreferenceSDP(sdp, vp9On, redOn) {
|
|
|
914
914
|
function cleanSdp(sdp) {
|
|
915
915
|
try {
|
|
916
916
|
const sdpObject = sdpTransform__namespace.parse(sdp);
|
|
917
|
-
sdpObject.media.forEach(mediaObject => {
|
|
917
|
+
sdpObject.media.forEach((mediaObject) => {
|
|
918
918
|
const usedPayloads = {};
|
|
919
919
|
if (mediaObject.payloads)
|
|
920
|
-
mediaObject.payloads = ("" + mediaObject.payloads)
|
|
920
|
+
mediaObject.payloads = ("" + mediaObject.payloads)
|
|
921
|
+
.split(" ")
|
|
922
|
+
.filter((p) => !usedPayloads[p] && (usedPayloads[p] = true))
|
|
923
|
+
.join(" ");
|
|
921
924
|
const usedRtps = {};
|
|
922
|
-
mediaObject.rtp = mediaObject.rtp.filter(p => !p.payload || (usedPayloads[p.payload] && !usedRtps[p.payload] && (usedRtps[p.payload] = true)));
|
|
925
|
+
mediaObject.rtp = mediaObject.rtp.filter((p) => !p.payload || (usedPayloads[p.payload] && !usedRtps[p.payload] && (usedRtps[p.payload] = true)));
|
|
923
926
|
const usedFmtps = {};
|
|
924
927
|
if (mediaObject.fmtp)
|
|
925
|
-
mediaObject.fmtp = mediaObject.fmtp.filter(p => !p.payload ||
|
|
928
|
+
mediaObject.fmtp = mediaObject.fmtp.filter((p) => !p.payload ||
|
|
929
|
+
(usedPayloads[p.payload] && !usedFmtps[p.payload] && (usedFmtps[p.payload] = true)));
|
|
926
930
|
const usedRtcpFb = {};
|
|
927
931
|
if (mediaObject.rtcpFb)
|
|
928
|
-
mediaObject.rtcpFb = mediaObject.rtcpFb.filter(p => !p.payload ||
|
|
932
|
+
mediaObject.rtcpFb = mediaObject.rtcpFb.filter((p) => !p.payload ||
|
|
933
|
+
(usedPayloads[p.payload] &&
|
|
934
|
+
!usedRtcpFb[p.payload + p.type + p.subtype] &&
|
|
935
|
+
(usedRtcpFb[p.payload + p.type + p.subtype] = true)));
|
|
929
936
|
});
|
|
930
937
|
return sdpTransform__namespace.write(sdpObject);
|
|
931
938
|
}
|
|
@@ -2488,24 +2495,12 @@ const VIDEO_SETTINGS_VP9 = {
|
|
|
2488
2495
|
},
|
|
2489
2496
|
encodings: [{ scalabilityMode: "L3T2", maxBitrate: 1000000 }],
|
|
2490
2497
|
};
|
|
2491
|
-
const VIDEO_SETTINGS_VP9_KEY = {
|
|
2492
|
-
codecOptions: {
|
|
2493
|
-
videoGoogleStartBitrate: 500,
|
|
2494
|
-
},
|
|
2495
|
-
encodings: [{ scalabilityMode: "L3T2_KEY", maxBitrate: 1250000 }],
|
|
2496
|
-
};
|
|
2497
2498
|
const VIDEO_SETTINGS_VP9_LOW_BANDWIDTH = {
|
|
2498
2499
|
codecOptions: {
|
|
2499
2500
|
videoGoogleStartBitrate: 500,
|
|
2500
2501
|
},
|
|
2501
2502
|
encodings: [{ scalabilityMode: "L2T2", maxBitrate: 500000 }],
|
|
2502
2503
|
};
|
|
2503
|
-
const VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY = {
|
|
2504
|
-
codecOptions: {
|
|
2505
|
-
videoGoogleStartBitrate: 500,
|
|
2506
|
-
},
|
|
2507
|
-
encodings: [{ scalabilityMode: "L2T2_KEY", maxBitrate: 650000 }],
|
|
2508
|
-
};
|
|
2509
2504
|
const SCREEN_SHARE_SETTINGS = {
|
|
2510
2505
|
encodings: [{}],
|
|
2511
2506
|
};
|
|
@@ -2522,14 +2517,8 @@ const ADDITIONAL_SCREEN_SHARE_SETTINGS = {
|
|
|
2522
2517
|
{ scaleResolutionDownBy: 1, dtx: true, maxBitrate: 1500000 },
|
|
2523
2518
|
],
|
|
2524
2519
|
};
|
|
2525
|
-
const ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9 = {
|
|
2526
|
-
encodings: [{ scalabilityMode: "L2T2_KEY", dtx: true, maxBitrate: 1500000 }],
|
|
2527
|
-
};
|
|
2528
|
-
const SCREEN_SHARE_SETTINGS_VP9 = {
|
|
2529
|
-
encodings: [{ dtx: true }],
|
|
2530
|
-
};
|
|
2531
2520
|
const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresenting = false) => {
|
|
2532
|
-
const { lowDataModeEnabled, simulcastScreenshareOn, vp9On
|
|
2521
|
+
const { lowDataModeEnabled, simulcastScreenshareOn, vp9On } = features;
|
|
2533
2522
|
if (kind === "audio") {
|
|
2534
2523
|
return AUDIO_SETTINGS;
|
|
2535
2524
|
}
|
|
@@ -2537,7 +2526,6 @@ const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresent
|
|
|
2537
2526
|
const isVp9Available = isChrome && vp9On;
|
|
2538
2527
|
if (isScreenShare) {
|
|
2539
2528
|
return getScreenShareMediaSettings({
|
|
2540
|
-
isVp9Available,
|
|
2541
2529
|
isSomeoneAlreadyPresenting,
|
|
2542
2530
|
simulcastScreenshareOn,
|
|
2543
2531
|
});
|
|
@@ -2546,34 +2534,25 @@ const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresent
|
|
|
2546
2534
|
return getCameraMediaSettings({
|
|
2547
2535
|
lowBandwidth: lowDataModeEnabled,
|
|
2548
2536
|
isVp9Available,
|
|
2549
|
-
svcKeyScalabilityModeOn,
|
|
2550
2537
|
});
|
|
2551
2538
|
}
|
|
2552
2539
|
};
|
|
2553
|
-
const getCameraMediaSettings = ({ lowBandwidth, isVp9Available,
|
|
2540
|
+
const getCameraMediaSettings = ({ lowBandwidth, isVp9Available, }) => {
|
|
2554
2541
|
if (lowBandwidth) {
|
|
2555
2542
|
if (isVp9Available) {
|
|
2556
|
-
if (svcKeyScalabilityModeOn)
|
|
2557
|
-
return VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY;
|
|
2558
2543
|
return VIDEO_SETTINGS_VP9_LOW_BANDWIDTH;
|
|
2559
2544
|
}
|
|
2560
2545
|
return VIDEO_SETTINGS_SD;
|
|
2561
2546
|
}
|
|
2562
2547
|
if (isVp9Available) {
|
|
2563
|
-
if (svcKeyScalabilityModeOn)
|
|
2564
|
-
return VIDEO_SETTINGS_VP9_KEY;
|
|
2565
2548
|
return VIDEO_SETTINGS_VP9;
|
|
2566
2549
|
}
|
|
2567
2550
|
return VIDEO_SETTINGS_HD;
|
|
2568
2551
|
};
|
|
2569
|
-
const getScreenShareMediaSettings = ({
|
|
2552
|
+
const getScreenShareMediaSettings = ({ isSomeoneAlreadyPresenting, simulcastScreenshareOn, }) => {
|
|
2570
2553
|
if (isSomeoneAlreadyPresenting) {
|
|
2571
|
-
if (isVp9Available)
|
|
2572
|
-
return ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9;
|
|
2573
2554
|
return ADDITIONAL_SCREEN_SHARE_SETTINGS;
|
|
2574
2555
|
}
|
|
2575
|
-
if (isVp9Available)
|
|
2576
|
-
return SCREEN_SHARE_SETTINGS_VP9;
|
|
2577
2556
|
if (simulcastScreenshareOn)
|
|
2578
2557
|
return SCREEN_SHARE_SIMULCAST_SETTINGS;
|
|
2579
2558
|
return SCREEN_SHARE_SETTINGS;
|
|
@@ -2618,10 +2597,8 @@ function prioritizeRouterRtpCapabilitiesCodecs(codecs, preferredCodec) {
|
|
|
2618
2597
|
return 0;
|
|
2619
2598
|
});
|
|
2620
2599
|
}
|
|
2621
|
-
function getPreferredOrder(availableCodecs, {
|
|
2622
|
-
|
|
2623
|
-
availableCodecs.unshift("video/vp9");
|
|
2624
|
-
}
|
|
2600
|
+
function getPreferredOrder(availableCodecs, { av1On }) {
|
|
2601
|
+
availableCodecs.unshift("video/vp9");
|
|
2625
2602
|
if (av1On) {
|
|
2626
2603
|
availableCodecs.unshift("video/av1");
|
|
2627
2604
|
}
|
|
@@ -2669,11 +2646,9 @@ function sortCodecsByPowerEfficiency(codecs) {
|
|
|
2669
2646
|
}
|
|
2670
2647
|
function sortCodecs(codecs, features) {
|
|
2671
2648
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
|
|
2675
|
-
}
|
|
2676
|
-
return codecs;
|
|
2649
|
+
let sortedCodecs = sortCodecsByMimeType(codecs, features);
|
|
2650
|
+
sortedCodecs = yield sortCodecsByPowerEfficiency(codecs);
|
|
2651
|
+
return sortedCodecs;
|
|
2677
2652
|
});
|
|
2678
2653
|
}
|
|
2679
2654
|
|
|
@@ -3816,10 +3791,7 @@ class P2pRtcManager {
|
|
|
3816
3791
|
}
|
|
3817
3792
|
_setCodecPreferences(pc) {
|
|
3818
3793
|
return __awaiter(this, void 0, void 0, function* () {
|
|
3819
|
-
const {
|
|
3820
|
-
if (!(p2pVp9On || p2pAv1On || redOn || preferP2pHardwareDecodingOn)) {
|
|
3821
|
-
return;
|
|
3822
|
-
}
|
|
3794
|
+
const { p2pAv1On, redOn } = this._features;
|
|
3823
3795
|
try {
|
|
3824
3796
|
const audioTransceivers = pc
|
|
3825
3797
|
.getTransceivers()
|
|
@@ -3847,13 +3819,9 @@ class P2pRtcManager {
|
|
|
3847
3819
|
if (videoTransceiver.setCodecPreferences === undefined)
|
|
3848
3820
|
return;
|
|
3849
3821
|
const capabilities = RTCRtpReceiver.getCapabilities("video");
|
|
3850
|
-
|
|
3851
|
-
|
|
3852
|
-
|
|
3853
|
-
av1On: p2pAv1On,
|
|
3854
|
-
preferHardwareDecodingOn: p2pVp9On || preferP2pHardwareDecodingOn,
|
|
3855
|
-
});
|
|
3856
|
-
}
|
|
3822
|
+
capabilities.codecs = yield sortCodecs(capabilities.codecs, {
|
|
3823
|
+
av1On: p2pAv1On,
|
|
3824
|
+
});
|
|
3857
3825
|
videoTransceiver.setCodecPreferences(capabilities.codecs);
|
|
3858
3826
|
})));
|
|
3859
3827
|
}
|
|
@@ -3875,14 +3843,14 @@ class P2pRtcManager {
|
|
|
3875
3843
|
return;
|
|
3876
3844
|
}
|
|
3877
3845
|
session.isOperationPending = true;
|
|
3878
|
-
const {
|
|
3846
|
+
const { redOn, rtpAbsCaptureTimeOn, cleanSdpOn } = this._features;
|
|
3879
3847
|
this._setCodecPreferences(pc).then(() => pc
|
|
3880
3848
|
.createOffer(constraints || this.offerOptions)
|
|
3881
3849
|
.then((offer) => {
|
|
3882
3850
|
if (rtpAbsCaptureTimeOn)
|
|
3883
3851
|
offer.sdp = addAbsCaptureTimeExtMap(offer.sdp);
|
|
3884
|
-
if (
|
|
3885
|
-
offer.sdp = setCodecPreferenceSDP(offer.sdp,
|
|
3852
|
+
if (browserName$1 === "firefox") {
|
|
3853
|
+
offer.sdp = setCodecPreferenceSDP(offer.sdp, redOn);
|
|
3886
3854
|
}
|
|
3887
3855
|
if (cleanSdpOn)
|
|
3888
3856
|
offer.sdp = cleanSdp(offer.sdp);
|
|
@@ -5650,12 +5618,16 @@ class VegaRtcManager {
|
|
|
5650
5618
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5651
5619
|
logger$3.info("_internalSendScreenVideo()");
|
|
5652
5620
|
this._screenVideoProducerPromise = (() => __awaiter(this, void 0, void 0, function* () {
|
|
5621
|
+
var _a, _b;
|
|
5653
5622
|
try {
|
|
5654
5623
|
if (!this._screenVideoTrack || !this._sendTransport || this._screenVideoProducer) {
|
|
5655
5624
|
this._screenVideoProducerPromise = null;
|
|
5656
5625
|
return;
|
|
5657
5626
|
}
|
|
5658
|
-
const
|
|
5627
|
+
const codec = this._features.sfuVp9On
|
|
5628
|
+
? (_b = (_a = this._routerRtpCapabilities) === null || _a === void 0 ? void 0 : _a.codecs) === null || _b === void 0 ? void 0 : _b.find((codec) => codec.mimeType.match(/vp8/i))
|
|
5629
|
+
: undefined;
|
|
5630
|
+
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenVideoTrack, disableTrackOnPause: false, stopTracks: false, codec }, getMediaSettings("video", true, Object.assign(Object.assign({}, this._features), { vp9On: false }), this._getIsSomeoneAlreadyPresenting())), { appData: {
|
|
5659
5631
|
streamId: OUTBOUND_SCREEN_OUTBOUND_STREAM_ID,
|
|
5660
5632
|
sourceClientId: this._selfId,
|
|
5661
5633
|
screenShare: true,
|
|
@@ -7973,7 +7945,6 @@ exports.RtcEventNames = void 0;
|
|
|
7973
7945
|
})(exports.RtcEventNames || (exports.RtcEventNames = {}));
|
|
7974
7946
|
|
|
7975
7947
|
exports.ADDITIONAL_SCREEN_SHARE_SETTINGS = ADDITIONAL_SCREEN_SHARE_SETTINGS;
|
|
7976
|
-
exports.ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9 = ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9;
|
|
7977
7948
|
exports.AUDIO_SETTINGS = AUDIO_SETTINGS;
|
|
7978
7949
|
exports.BandwidthTester = BandwidthTester;
|
|
7979
7950
|
exports.EVENTS = EVENTS;
|
|
@@ -7992,7 +7963,6 @@ exports.ReconnectManager = ReconnectManager;
|
|
|
7992
7963
|
exports.RtcManagerDispatcher = RtcManagerDispatcher;
|
|
7993
7964
|
exports.RtcStream = RtcStream;
|
|
7994
7965
|
exports.SCREEN_SHARE_SETTINGS = SCREEN_SHARE_SETTINGS;
|
|
7995
|
-
exports.SCREEN_SHARE_SETTINGS_VP9 = SCREEN_SHARE_SETTINGS_VP9;
|
|
7996
7966
|
exports.SCREEN_SHARE_SIMULCAST_SETTINGS = SCREEN_SHARE_SIMULCAST_SETTINGS;
|
|
7997
7967
|
exports.STREAM_TYPES = STREAM_TYPES;
|
|
7998
7968
|
exports.ServerSocket = ServerSocket;
|
|
@@ -8002,9 +7972,7 @@ exports.TYPES = TYPES;
|
|
|
8002
7972
|
exports.VIDEO_SETTINGS_HD = VIDEO_SETTINGS_HD;
|
|
8003
7973
|
exports.VIDEO_SETTINGS_SD = VIDEO_SETTINGS_SD;
|
|
8004
7974
|
exports.VIDEO_SETTINGS_VP9 = VIDEO_SETTINGS_VP9;
|
|
8005
|
-
exports.VIDEO_SETTINGS_VP9_KEY = VIDEO_SETTINGS_VP9_KEY;
|
|
8006
7975
|
exports.VIDEO_SETTINGS_VP9_LOW_BANDWIDTH = VIDEO_SETTINGS_VP9_LOW_BANDWIDTH;
|
|
8007
|
-
exports.VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY = VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY;
|
|
8008
7976
|
exports.VegaConnection = VegaConnection;
|
|
8009
7977
|
exports.VegaMediaQualityMonitor = VegaMediaQualityMonitor;
|
|
8010
7978
|
exports.VegaRtcManager = VegaRtcManager;
|
package/dist/index.d.cts
CHANGED
|
@@ -630,15 +630,6 @@ declare const VIDEO_SETTINGS_VP9: {
|
|
|
630
630
|
maxBitrate: number;
|
|
631
631
|
}[];
|
|
632
632
|
};
|
|
633
|
-
declare const VIDEO_SETTINGS_VP9_KEY: {
|
|
634
|
-
codecOptions: {
|
|
635
|
-
videoGoogleStartBitrate: number;
|
|
636
|
-
};
|
|
637
|
-
encodings: {
|
|
638
|
-
scalabilityMode: string;
|
|
639
|
-
maxBitrate: number;
|
|
640
|
-
}[];
|
|
641
|
-
};
|
|
642
633
|
declare const VIDEO_SETTINGS_VP9_LOW_BANDWIDTH: {
|
|
643
634
|
codecOptions: {
|
|
644
635
|
videoGoogleStartBitrate: number;
|
|
@@ -648,15 +639,6 @@ declare const VIDEO_SETTINGS_VP9_LOW_BANDWIDTH: {
|
|
|
648
639
|
maxBitrate: number;
|
|
649
640
|
}[];
|
|
650
641
|
};
|
|
651
|
-
declare const VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY: {
|
|
652
|
-
codecOptions: {
|
|
653
|
-
videoGoogleStartBitrate: number;
|
|
654
|
-
};
|
|
655
|
-
encodings: {
|
|
656
|
-
scalabilityMode: string;
|
|
657
|
-
maxBitrate: number;
|
|
658
|
-
}[];
|
|
659
|
-
};
|
|
660
642
|
declare const SCREEN_SHARE_SETTINGS: {
|
|
661
643
|
encodings: {}[];
|
|
662
644
|
};
|
|
@@ -674,23 +656,10 @@ declare const ADDITIONAL_SCREEN_SHARE_SETTINGS: {
|
|
|
674
656
|
maxBitrate: number;
|
|
675
657
|
}[];
|
|
676
658
|
};
|
|
677
|
-
declare const ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9: {
|
|
678
|
-
encodings: {
|
|
679
|
-
scalabilityMode: string;
|
|
680
|
-
dtx: boolean;
|
|
681
|
-
maxBitrate: number;
|
|
682
|
-
}[];
|
|
683
|
-
};
|
|
684
|
-
declare const SCREEN_SHARE_SETTINGS_VP9: {
|
|
685
|
-
encodings: {
|
|
686
|
-
dtx: boolean;
|
|
687
|
-
}[];
|
|
688
|
-
};
|
|
689
659
|
declare const getMediaSettings: (kind: string, isScreenShare: boolean, features: {
|
|
690
660
|
lowDataModeEnabled?: boolean;
|
|
691
661
|
simulcastScreenshareOn?: boolean;
|
|
692
662
|
vp9On?: boolean;
|
|
693
|
-
svcKeyScalabilityModeOn?: boolean;
|
|
694
663
|
}, isSomeoneAlreadyPresenting?: boolean) => {
|
|
695
664
|
encodings: {}[];
|
|
696
665
|
};
|
|
@@ -704,9 +673,7 @@ interface Codec {
|
|
|
704
673
|
sdpFmtpLine?: string;
|
|
705
674
|
}
|
|
706
675
|
declare function sortCodecs(codecs: Codec[], features: {
|
|
707
|
-
vp9On?: boolean;
|
|
708
676
|
av1On?: boolean;
|
|
709
|
-
preferHardwareDecodingOn?: boolean;
|
|
710
677
|
}): Promise<Codec[]>;
|
|
711
678
|
|
|
712
679
|
declare class ReconnectManager extends EventEmitter {
|
|
@@ -1223,7 +1190,7 @@ declare const rtcStats: {
|
|
|
1223
1190
|
};
|
|
1224
1191
|
};
|
|
1225
1192
|
|
|
1226
|
-
declare function setCodecPreferenceSDP(sdp: any,
|
|
1193
|
+
declare function setCodecPreferenceSDP(sdp: any, redOn?: boolean): string | undefined;
|
|
1227
1194
|
declare function cleanSdp(sdp: string): string;
|
|
1228
1195
|
declare function maybeRejectNoH264(sdp: any): any;
|
|
1229
1196
|
declare function deprioritizeH264(sdp: any): string;
|
|
@@ -1464,7 +1431,7 @@ declare class VegaRtcManager implements RtcManager {
|
|
|
1464
1431
|
_micAnalyser: any;
|
|
1465
1432
|
_micAnalyserDebugger: any;
|
|
1466
1433
|
_mediasoupDevice: Device | null;
|
|
1467
|
-
_routerRtpCapabilities:
|
|
1434
|
+
_routerRtpCapabilities: RtpCapabilities | null;
|
|
1468
1435
|
_sendTransport: any;
|
|
1469
1436
|
_receiveTransport: any;
|
|
1470
1437
|
_clientStates: Map<string, ClientState>;
|
|
@@ -1800,5 +1767,5 @@ declare class RtcStream {
|
|
|
1800
1767
|
static getTypeFromId(id: string): string;
|
|
1801
1768
|
}
|
|
1802
1769
|
|
|
1803
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS,
|
|
1770
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDevice, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
1804
1771
|
export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, CustomMediaStreamTrack, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, NewClientEvent, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TrackStats, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent, ViewStats, ssrcStats };
|
package/dist/index.d.mts
CHANGED
|
@@ -630,15 +630,6 @@ declare const VIDEO_SETTINGS_VP9: {
|
|
|
630
630
|
maxBitrate: number;
|
|
631
631
|
}[];
|
|
632
632
|
};
|
|
633
|
-
declare const VIDEO_SETTINGS_VP9_KEY: {
|
|
634
|
-
codecOptions: {
|
|
635
|
-
videoGoogleStartBitrate: number;
|
|
636
|
-
};
|
|
637
|
-
encodings: {
|
|
638
|
-
scalabilityMode: string;
|
|
639
|
-
maxBitrate: number;
|
|
640
|
-
}[];
|
|
641
|
-
};
|
|
642
633
|
declare const VIDEO_SETTINGS_VP9_LOW_BANDWIDTH: {
|
|
643
634
|
codecOptions: {
|
|
644
635
|
videoGoogleStartBitrate: number;
|
|
@@ -648,15 +639,6 @@ declare const VIDEO_SETTINGS_VP9_LOW_BANDWIDTH: {
|
|
|
648
639
|
maxBitrate: number;
|
|
649
640
|
}[];
|
|
650
641
|
};
|
|
651
|
-
declare const VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY: {
|
|
652
|
-
codecOptions: {
|
|
653
|
-
videoGoogleStartBitrate: number;
|
|
654
|
-
};
|
|
655
|
-
encodings: {
|
|
656
|
-
scalabilityMode: string;
|
|
657
|
-
maxBitrate: number;
|
|
658
|
-
}[];
|
|
659
|
-
};
|
|
660
642
|
declare const SCREEN_SHARE_SETTINGS: {
|
|
661
643
|
encodings: {}[];
|
|
662
644
|
};
|
|
@@ -674,23 +656,10 @@ declare const ADDITIONAL_SCREEN_SHARE_SETTINGS: {
|
|
|
674
656
|
maxBitrate: number;
|
|
675
657
|
}[];
|
|
676
658
|
};
|
|
677
|
-
declare const ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9: {
|
|
678
|
-
encodings: {
|
|
679
|
-
scalabilityMode: string;
|
|
680
|
-
dtx: boolean;
|
|
681
|
-
maxBitrate: number;
|
|
682
|
-
}[];
|
|
683
|
-
};
|
|
684
|
-
declare const SCREEN_SHARE_SETTINGS_VP9: {
|
|
685
|
-
encodings: {
|
|
686
|
-
dtx: boolean;
|
|
687
|
-
}[];
|
|
688
|
-
};
|
|
689
659
|
declare const getMediaSettings: (kind: string, isScreenShare: boolean, features: {
|
|
690
660
|
lowDataModeEnabled?: boolean;
|
|
691
661
|
simulcastScreenshareOn?: boolean;
|
|
692
662
|
vp9On?: boolean;
|
|
693
|
-
svcKeyScalabilityModeOn?: boolean;
|
|
694
663
|
}, isSomeoneAlreadyPresenting?: boolean) => {
|
|
695
664
|
encodings: {}[];
|
|
696
665
|
};
|
|
@@ -704,9 +673,7 @@ interface Codec {
|
|
|
704
673
|
sdpFmtpLine?: string;
|
|
705
674
|
}
|
|
706
675
|
declare function sortCodecs(codecs: Codec[], features: {
|
|
707
|
-
vp9On?: boolean;
|
|
708
676
|
av1On?: boolean;
|
|
709
|
-
preferHardwareDecodingOn?: boolean;
|
|
710
677
|
}): Promise<Codec[]>;
|
|
711
678
|
|
|
712
679
|
declare class ReconnectManager extends EventEmitter {
|
|
@@ -1223,7 +1190,7 @@ declare const rtcStats: {
|
|
|
1223
1190
|
};
|
|
1224
1191
|
};
|
|
1225
1192
|
|
|
1226
|
-
declare function setCodecPreferenceSDP(sdp: any,
|
|
1193
|
+
declare function setCodecPreferenceSDP(sdp: any, redOn?: boolean): string | undefined;
|
|
1227
1194
|
declare function cleanSdp(sdp: string): string;
|
|
1228
1195
|
declare function maybeRejectNoH264(sdp: any): any;
|
|
1229
1196
|
declare function deprioritizeH264(sdp: any): string;
|
|
@@ -1464,7 +1431,7 @@ declare class VegaRtcManager implements RtcManager {
|
|
|
1464
1431
|
_micAnalyser: any;
|
|
1465
1432
|
_micAnalyserDebugger: any;
|
|
1466
1433
|
_mediasoupDevice: Device | null;
|
|
1467
|
-
_routerRtpCapabilities:
|
|
1434
|
+
_routerRtpCapabilities: RtpCapabilities | null;
|
|
1468
1435
|
_sendTransport: any;
|
|
1469
1436
|
_receiveTransport: any;
|
|
1470
1437
|
_clientStates: Map<string, ClientState>;
|
|
@@ -1800,5 +1767,5 @@ declare class RtcStream {
|
|
|
1800
1767
|
static getTypeFromId(id: string): string;
|
|
1801
1768
|
}
|
|
1802
1769
|
|
|
1803
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS,
|
|
1770
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDevice, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
1804
1771
|
export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, CustomMediaStreamTrack, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, NewClientEvent, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TrackStats, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent, ViewStats, ssrcStats };
|
package/dist/index.d.ts
CHANGED
|
@@ -630,15 +630,6 @@ declare const VIDEO_SETTINGS_VP9: {
|
|
|
630
630
|
maxBitrate: number;
|
|
631
631
|
}[];
|
|
632
632
|
};
|
|
633
|
-
declare const VIDEO_SETTINGS_VP9_KEY: {
|
|
634
|
-
codecOptions: {
|
|
635
|
-
videoGoogleStartBitrate: number;
|
|
636
|
-
};
|
|
637
|
-
encodings: {
|
|
638
|
-
scalabilityMode: string;
|
|
639
|
-
maxBitrate: number;
|
|
640
|
-
}[];
|
|
641
|
-
};
|
|
642
633
|
declare const VIDEO_SETTINGS_VP9_LOW_BANDWIDTH: {
|
|
643
634
|
codecOptions: {
|
|
644
635
|
videoGoogleStartBitrate: number;
|
|
@@ -648,15 +639,6 @@ declare const VIDEO_SETTINGS_VP9_LOW_BANDWIDTH: {
|
|
|
648
639
|
maxBitrate: number;
|
|
649
640
|
}[];
|
|
650
641
|
};
|
|
651
|
-
declare const VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY: {
|
|
652
|
-
codecOptions: {
|
|
653
|
-
videoGoogleStartBitrate: number;
|
|
654
|
-
};
|
|
655
|
-
encodings: {
|
|
656
|
-
scalabilityMode: string;
|
|
657
|
-
maxBitrate: number;
|
|
658
|
-
}[];
|
|
659
|
-
};
|
|
660
642
|
declare const SCREEN_SHARE_SETTINGS: {
|
|
661
643
|
encodings: {}[];
|
|
662
644
|
};
|
|
@@ -674,23 +656,10 @@ declare const ADDITIONAL_SCREEN_SHARE_SETTINGS: {
|
|
|
674
656
|
maxBitrate: number;
|
|
675
657
|
}[];
|
|
676
658
|
};
|
|
677
|
-
declare const ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9: {
|
|
678
|
-
encodings: {
|
|
679
|
-
scalabilityMode: string;
|
|
680
|
-
dtx: boolean;
|
|
681
|
-
maxBitrate: number;
|
|
682
|
-
}[];
|
|
683
|
-
};
|
|
684
|
-
declare const SCREEN_SHARE_SETTINGS_VP9: {
|
|
685
|
-
encodings: {
|
|
686
|
-
dtx: boolean;
|
|
687
|
-
}[];
|
|
688
|
-
};
|
|
689
659
|
declare const getMediaSettings: (kind: string, isScreenShare: boolean, features: {
|
|
690
660
|
lowDataModeEnabled?: boolean;
|
|
691
661
|
simulcastScreenshareOn?: boolean;
|
|
692
662
|
vp9On?: boolean;
|
|
693
|
-
svcKeyScalabilityModeOn?: boolean;
|
|
694
663
|
}, isSomeoneAlreadyPresenting?: boolean) => {
|
|
695
664
|
encodings: {}[];
|
|
696
665
|
};
|
|
@@ -704,9 +673,7 @@ interface Codec {
|
|
|
704
673
|
sdpFmtpLine?: string;
|
|
705
674
|
}
|
|
706
675
|
declare function sortCodecs(codecs: Codec[], features: {
|
|
707
|
-
vp9On?: boolean;
|
|
708
676
|
av1On?: boolean;
|
|
709
|
-
preferHardwareDecodingOn?: boolean;
|
|
710
677
|
}): Promise<Codec[]>;
|
|
711
678
|
|
|
712
679
|
declare class ReconnectManager extends EventEmitter {
|
|
@@ -1223,7 +1190,7 @@ declare const rtcStats: {
|
|
|
1223
1190
|
};
|
|
1224
1191
|
};
|
|
1225
1192
|
|
|
1226
|
-
declare function setCodecPreferenceSDP(sdp: any,
|
|
1193
|
+
declare function setCodecPreferenceSDP(sdp: any, redOn?: boolean): string | undefined;
|
|
1227
1194
|
declare function cleanSdp(sdp: string): string;
|
|
1228
1195
|
declare function maybeRejectNoH264(sdp: any): any;
|
|
1229
1196
|
declare function deprioritizeH264(sdp: any): string;
|
|
@@ -1464,7 +1431,7 @@ declare class VegaRtcManager implements RtcManager {
|
|
|
1464
1431
|
_micAnalyser: any;
|
|
1465
1432
|
_micAnalyserDebugger: any;
|
|
1466
1433
|
_mediasoupDevice: Device | null;
|
|
1467
|
-
_routerRtpCapabilities:
|
|
1434
|
+
_routerRtpCapabilities: RtpCapabilities | null;
|
|
1468
1435
|
_sendTransport: any;
|
|
1469
1436
|
_receiveTransport: any;
|
|
1470
1437
|
_clientStates: Map<string, ClientState>;
|
|
@@ -1800,5 +1767,5 @@ declare class RtcStream {
|
|
|
1800
1767
|
static getTypeFromId(id: string): string;
|
|
1801
1768
|
}
|
|
1802
1769
|
|
|
1803
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS,
|
|
1770
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDevice, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, _default as rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
1804
1771
|
export type { AddSpotlightRequest, AudioEnableRequest, AudioEnableRequestedEvent, AudioEnabledEvent, BreakoutConfig, BreakoutGroupJoinedEvent, BreakoutSessionUpdatedEvent, CannotJoinUnclaimedRoomError, ChatMessage, ClientKickedEvent, ClientLeftEvent, ClientMetadataPayload, ClientMetadataReceivedEvent, ClientRole, ClientUnableToJoinEvent, CloudRecordingStartedEvent, Codec, Credentials, CustomMediaStreamTrack, ForbiddenError, ForbiddenErrorNames, GetConstraintsOptions, GetDeviceDataResult, GetMediaConstraintsOptions, GetStreamOptions, GetStreamResult, GetUpdatedDevicesResult, HostPresenceControlsError, IdentifyDeviceRequest, InternalServerError, IssuesAndMetricsByView, JoinRoomRequest, KnockAcceptedEvent, KnockRejectedEvent, KnockRoomRequest, KnockerLeftEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, MaxViewerLimitReachedError, NewClientEvent, OrganizationPlanExhaustedError, RemoveSpotlightRequest, RoleName, RoomConcurrencyControlsError, RoomFullError, RoomJoinedErrors, RoomJoinedEvent, RoomJoinedSuccess, RoomKnockedEvent, RoomLockedError, RoomLockedEvent, RoomMeetingTimeExhaustedError, RoomMode, RoomSessionEndedEvent, RtcClientConnectionStatusChangedPayload, RtcEvents, RtcLocalStreamTrackAddedPayload, RtcLocalStreamTrackRemovedPayload, RtcManager, RtcManagerCreatedPayload, RtcStreamAddedPayload, ScreenshareStartedEvent, ScreenshareStoppedEvent, SendClientMetadataRequest, SignalClient, SignalEvents, SignalKnocker, SignalRequests, SocketConf, SocketManager, Spotlight, SpotlightAddedEvent, SpotlightRemovedEvent, StatsMonitorOptions, StatsMonitorState, StatsSubscription, TrackStats, TurnTransportProtocol, UpdatedDeviceInfo, UpdatedDevicesInfo, VideoEnableRequest, VideoEnableRequestedEvent, VideoEnabledEvent, ViewStats, ssrcStats };
|
package/dist/index.mjs
CHANGED
|
@@ -845,7 +845,7 @@ const adapter$6 = (_a$6 = adapterRaw.default) !== null && _a$6 !== void 0 ? _a$6
|
|
|
845
845
|
const logger$b = new Logger();
|
|
846
846
|
const browserName$2 = adapter$6.browserDetails.browser;
|
|
847
847
|
const browserVersion$1 = adapter$6.browserDetails.version;
|
|
848
|
-
function setCodecPreferenceSDP(sdp,
|
|
848
|
+
function setCodecPreferenceSDP(sdp, redOn) {
|
|
849
849
|
var _a, _b;
|
|
850
850
|
try {
|
|
851
851
|
const sdpObject = sdpTransform.parse(sdp);
|
|
@@ -868,7 +868,7 @@ function setCodecPreferenceSDP(sdp, vp9On, redOn) {
|
|
|
868
868
|
if (Array.isArray(mediaVideo === null || mediaVideo === void 0 ? void 0 : mediaVideo.rtp)) {
|
|
869
869
|
const rtp = mediaVideo.rtp;
|
|
870
870
|
for (let i = 0; i < rtp.length; i++) {
|
|
871
|
-
if (
|
|
871
|
+
if (rtp[i].codec === "VP9") {
|
|
872
872
|
const payloads = (_b = mediaVideo.payloads) === null || _b === void 0 ? void 0 : _b.split(" ");
|
|
873
873
|
const pt = payloads === null || payloads === void 0 ? void 0 : payloads.indexOf("" + rtp[i].payload);
|
|
874
874
|
if (pt && pt !== -1 && pt >= 0) {
|
|
@@ -889,18 +889,25 @@ function setCodecPreferenceSDP(sdp, vp9On, redOn) {
|
|
|
889
889
|
function cleanSdp(sdp) {
|
|
890
890
|
try {
|
|
891
891
|
const sdpObject = sdpTransform.parse(sdp);
|
|
892
|
-
sdpObject.media.forEach(mediaObject => {
|
|
892
|
+
sdpObject.media.forEach((mediaObject) => {
|
|
893
893
|
const usedPayloads = {};
|
|
894
894
|
if (mediaObject.payloads)
|
|
895
|
-
mediaObject.payloads = ("" + mediaObject.payloads)
|
|
895
|
+
mediaObject.payloads = ("" + mediaObject.payloads)
|
|
896
|
+
.split(" ")
|
|
897
|
+
.filter((p) => !usedPayloads[p] && (usedPayloads[p] = true))
|
|
898
|
+
.join(" ");
|
|
896
899
|
const usedRtps = {};
|
|
897
|
-
mediaObject.rtp = mediaObject.rtp.filter(p => !p.payload || (usedPayloads[p.payload] && !usedRtps[p.payload] && (usedRtps[p.payload] = true)));
|
|
900
|
+
mediaObject.rtp = mediaObject.rtp.filter((p) => !p.payload || (usedPayloads[p.payload] && !usedRtps[p.payload] && (usedRtps[p.payload] = true)));
|
|
898
901
|
const usedFmtps = {};
|
|
899
902
|
if (mediaObject.fmtp)
|
|
900
|
-
mediaObject.fmtp = mediaObject.fmtp.filter(p => !p.payload ||
|
|
903
|
+
mediaObject.fmtp = mediaObject.fmtp.filter((p) => !p.payload ||
|
|
904
|
+
(usedPayloads[p.payload] && !usedFmtps[p.payload] && (usedFmtps[p.payload] = true)));
|
|
901
905
|
const usedRtcpFb = {};
|
|
902
906
|
if (mediaObject.rtcpFb)
|
|
903
|
-
mediaObject.rtcpFb = mediaObject.rtcpFb.filter(p => !p.payload ||
|
|
907
|
+
mediaObject.rtcpFb = mediaObject.rtcpFb.filter((p) => !p.payload ||
|
|
908
|
+
(usedPayloads[p.payload] &&
|
|
909
|
+
!usedRtcpFb[p.payload + p.type + p.subtype] &&
|
|
910
|
+
(usedRtcpFb[p.payload + p.type + p.subtype] = true)));
|
|
904
911
|
});
|
|
905
912
|
return sdpTransform.write(sdpObject);
|
|
906
913
|
}
|
|
@@ -2463,24 +2470,12 @@ const VIDEO_SETTINGS_VP9 = {
|
|
|
2463
2470
|
},
|
|
2464
2471
|
encodings: [{ scalabilityMode: "L3T2", maxBitrate: 1000000 }],
|
|
2465
2472
|
};
|
|
2466
|
-
const VIDEO_SETTINGS_VP9_KEY = {
|
|
2467
|
-
codecOptions: {
|
|
2468
|
-
videoGoogleStartBitrate: 500,
|
|
2469
|
-
},
|
|
2470
|
-
encodings: [{ scalabilityMode: "L3T2_KEY", maxBitrate: 1250000 }],
|
|
2471
|
-
};
|
|
2472
2473
|
const VIDEO_SETTINGS_VP9_LOW_BANDWIDTH = {
|
|
2473
2474
|
codecOptions: {
|
|
2474
2475
|
videoGoogleStartBitrate: 500,
|
|
2475
2476
|
},
|
|
2476
2477
|
encodings: [{ scalabilityMode: "L2T2", maxBitrate: 500000 }],
|
|
2477
2478
|
};
|
|
2478
|
-
const VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY = {
|
|
2479
|
-
codecOptions: {
|
|
2480
|
-
videoGoogleStartBitrate: 500,
|
|
2481
|
-
},
|
|
2482
|
-
encodings: [{ scalabilityMode: "L2T2_KEY", maxBitrate: 650000 }],
|
|
2483
|
-
};
|
|
2484
2479
|
const SCREEN_SHARE_SETTINGS = {
|
|
2485
2480
|
encodings: [{}],
|
|
2486
2481
|
};
|
|
@@ -2497,14 +2492,8 @@ const ADDITIONAL_SCREEN_SHARE_SETTINGS = {
|
|
|
2497
2492
|
{ scaleResolutionDownBy: 1, dtx: true, maxBitrate: 1500000 },
|
|
2498
2493
|
],
|
|
2499
2494
|
};
|
|
2500
|
-
const ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9 = {
|
|
2501
|
-
encodings: [{ scalabilityMode: "L2T2_KEY", dtx: true, maxBitrate: 1500000 }],
|
|
2502
|
-
};
|
|
2503
|
-
const SCREEN_SHARE_SETTINGS_VP9 = {
|
|
2504
|
-
encodings: [{ dtx: true }],
|
|
2505
|
-
};
|
|
2506
2495
|
const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresenting = false) => {
|
|
2507
|
-
const { lowDataModeEnabled, simulcastScreenshareOn, vp9On
|
|
2496
|
+
const { lowDataModeEnabled, simulcastScreenshareOn, vp9On } = features;
|
|
2508
2497
|
if (kind === "audio") {
|
|
2509
2498
|
return AUDIO_SETTINGS;
|
|
2510
2499
|
}
|
|
@@ -2512,7 +2501,6 @@ const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresent
|
|
|
2512
2501
|
const isVp9Available = isChrome && vp9On;
|
|
2513
2502
|
if (isScreenShare) {
|
|
2514
2503
|
return getScreenShareMediaSettings({
|
|
2515
|
-
isVp9Available,
|
|
2516
2504
|
isSomeoneAlreadyPresenting,
|
|
2517
2505
|
simulcastScreenshareOn,
|
|
2518
2506
|
});
|
|
@@ -2521,34 +2509,25 @@ const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresent
|
|
|
2521
2509
|
return getCameraMediaSettings({
|
|
2522
2510
|
lowBandwidth: lowDataModeEnabled,
|
|
2523
2511
|
isVp9Available,
|
|
2524
|
-
svcKeyScalabilityModeOn,
|
|
2525
2512
|
});
|
|
2526
2513
|
}
|
|
2527
2514
|
};
|
|
2528
|
-
const getCameraMediaSettings = ({ lowBandwidth, isVp9Available,
|
|
2515
|
+
const getCameraMediaSettings = ({ lowBandwidth, isVp9Available, }) => {
|
|
2529
2516
|
if (lowBandwidth) {
|
|
2530
2517
|
if (isVp9Available) {
|
|
2531
|
-
if (svcKeyScalabilityModeOn)
|
|
2532
|
-
return VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY;
|
|
2533
2518
|
return VIDEO_SETTINGS_VP9_LOW_BANDWIDTH;
|
|
2534
2519
|
}
|
|
2535
2520
|
return VIDEO_SETTINGS_SD;
|
|
2536
2521
|
}
|
|
2537
2522
|
if (isVp9Available) {
|
|
2538
|
-
if (svcKeyScalabilityModeOn)
|
|
2539
|
-
return VIDEO_SETTINGS_VP9_KEY;
|
|
2540
2523
|
return VIDEO_SETTINGS_VP9;
|
|
2541
2524
|
}
|
|
2542
2525
|
return VIDEO_SETTINGS_HD;
|
|
2543
2526
|
};
|
|
2544
|
-
const getScreenShareMediaSettings = ({
|
|
2527
|
+
const getScreenShareMediaSettings = ({ isSomeoneAlreadyPresenting, simulcastScreenshareOn, }) => {
|
|
2545
2528
|
if (isSomeoneAlreadyPresenting) {
|
|
2546
|
-
if (isVp9Available)
|
|
2547
|
-
return ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9;
|
|
2548
2529
|
return ADDITIONAL_SCREEN_SHARE_SETTINGS;
|
|
2549
2530
|
}
|
|
2550
|
-
if (isVp9Available)
|
|
2551
|
-
return SCREEN_SHARE_SETTINGS_VP9;
|
|
2552
2531
|
if (simulcastScreenshareOn)
|
|
2553
2532
|
return SCREEN_SHARE_SIMULCAST_SETTINGS;
|
|
2554
2533
|
return SCREEN_SHARE_SETTINGS;
|
|
@@ -2593,10 +2572,8 @@ function prioritizeRouterRtpCapabilitiesCodecs(codecs, preferredCodec) {
|
|
|
2593
2572
|
return 0;
|
|
2594
2573
|
});
|
|
2595
2574
|
}
|
|
2596
|
-
function getPreferredOrder(availableCodecs, {
|
|
2597
|
-
|
|
2598
|
-
availableCodecs.unshift("video/vp9");
|
|
2599
|
-
}
|
|
2575
|
+
function getPreferredOrder(availableCodecs, { av1On }) {
|
|
2576
|
+
availableCodecs.unshift("video/vp9");
|
|
2600
2577
|
if (av1On) {
|
|
2601
2578
|
availableCodecs.unshift("video/av1");
|
|
2602
2579
|
}
|
|
@@ -2644,11 +2621,9 @@ function sortCodecsByPowerEfficiency(codecs) {
|
|
|
2644
2621
|
}
|
|
2645
2622
|
function sortCodecs(codecs, features) {
|
|
2646
2623
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
}
|
|
2651
|
-
return codecs;
|
|
2624
|
+
let sortedCodecs = sortCodecsByMimeType(codecs, features);
|
|
2625
|
+
sortedCodecs = yield sortCodecsByPowerEfficiency(codecs);
|
|
2626
|
+
return sortedCodecs;
|
|
2652
2627
|
});
|
|
2653
2628
|
}
|
|
2654
2629
|
|
|
@@ -3791,10 +3766,7 @@ class P2pRtcManager {
|
|
|
3791
3766
|
}
|
|
3792
3767
|
_setCodecPreferences(pc) {
|
|
3793
3768
|
return __awaiter(this, void 0, void 0, function* () {
|
|
3794
|
-
const {
|
|
3795
|
-
if (!(p2pVp9On || p2pAv1On || redOn || preferP2pHardwareDecodingOn)) {
|
|
3796
|
-
return;
|
|
3797
|
-
}
|
|
3769
|
+
const { p2pAv1On, redOn } = this._features;
|
|
3798
3770
|
try {
|
|
3799
3771
|
const audioTransceivers = pc
|
|
3800
3772
|
.getTransceivers()
|
|
@@ -3822,13 +3794,9 @@ class P2pRtcManager {
|
|
|
3822
3794
|
if (videoTransceiver.setCodecPreferences === undefined)
|
|
3823
3795
|
return;
|
|
3824
3796
|
const capabilities = RTCRtpReceiver.getCapabilities("video");
|
|
3825
|
-
|
|
3826
|
-
|
|
3827
|
-
|
|
3828
|
-
av1On: p2pAv1On,
|
|
3829
|
-
preferHardwareDecodingOn: p2pVp9On || preferP2pHardwareDecodingOn,
|
|
3830
|
-
});
|
|
3831
|
-
}
|
|
3797
|
+
capabilities.codecs = yield sortCodecs(capabilities.codecs, {
|
|
3798
|
+
av1On: p2pAv1On,
|
|
3799
|
+
});
|
|
3832
3800
|
videoTransceiver.setCodecPreferences(capabilities.codecs);
|
|
3833
3801
|
})));
|
|
3834
3802
|
}
|
|
@@ -3850,14 +3818,14 @@ class P2pRtcManager {
|
|
|
3850
3818
|
return;
|
|
3851
3819
|
}
|
|
3852
3820
|
session.isOperationPending = true;
|
|
3853
|
-
const {
|
|
3821
|
+
const { redOn, rtpAbsCaptureTimeOn, cleanSdpOn } = this._features;
|
|
3854
3822
|
this._setCodecPreferences(pc).then(() => pc
|
|
3855
3823
|
.createOffer(constraints || this.offerOptions)
|
|
3856
3824
|
.then((offer) => {
|
|
3857
3825
|
if (rtpAbsCaptureTimeOn)
|
|
3858
3826
|
offer.sdp = addAbsCaptureTimeExtMap(offer.sdp);
|
|
3859
|
-
if (
|
|
3860
|
-
offer.sdp = setCodecPreferenceSDP(offer.sdp,
|
|
3827
|
+
if (browserName$1 === "firefox") {
|
|
3828
|
+
offer.sdp = setCodecPreferenceSDP(offer.sdp, redOn);
|
|
3861
3829
|
}
|
|
3862
3830
|
if (cleanSdpOn)
|
|
3863
3831
|
offer.sdp = cleanSdp(offer.sdp);
|
|
@@ -5625,12 +5593,16 @@ class VegaRtcManager {
|
|
|
5625
5593
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5626
5594
|
logger$3.info("_internalSendScreenVideo()");
|
|
5627
5595
|
this._screenVideoProducerPromise = (() => __awaiter(this, void 0, void 0, function* () {
|
|
5596
|
+
var _a, _b;
|
|
5628
5597
|
try {
|
|
5629
5598
|
if (!this._screenVideoTrack || !this._sendTransport || this._screenVideoProducer) {
|
|
5630
5599
|
this._screenVideoProducerPromise = null;
|
|
5631
5600
|
return;
|
|
5632
5601
|
}
|
|
5633
|
-
const
|
|
5602
|
+
const codec = this._features.sfuVp9On
|
|
5603
|
+
? (_b = (_a = this._routerRtpCapabilities) === null || _a === void 0 ? void 0 : _a.codecs) === null || _b === void 0 ? void 0 : _b.find((codec) => codec.mimeType.match(/vp8/i))
|
|
5604
|
+
: undefined;
|
|
5605
|
+
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenVideoTrack, disableTrackOnPause: false, stopTracks: false, codec }, getMediaSettings("video", true, Object.assign(Object.assign({}, this._features), { vp9On: false }), this._getIsSomeoneAlreadyPresenting())), { appData: {
|
|
5634
5606
|
streamId: OUTBOUND_SCREEN_OUTBOUND_STREAM_ID,
|
|
5635
5607
|
sourceClientId: this._selfId,
|
|
5636
5608
|
screenShare: true,
|
|
@@ -7947,4 +7919,4 @@ var RtcEventNames;
|
|
|
7947
7919
|
RtcEventNames["stream_added"] = "stream_added";
|
|
7948
7920
|
})(RtcEventNames || (RtcEventNames = {}));
|
|
7949
7921
|
|
|
7950
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS,
|
|
7922
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDevice, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
package/dist/legacy-esm.js
CHANGED
|
@@ -845,7 +845,7 @@ const adapter$6 = (_a$6 = adapterRaw.default) !== null && _a$6 !== void 0 ? _a$6
|
|
|
845
845
|
const logger$b = new Logger();
|
|
846
846
|
const browserName$2 = adapter$6.browserDetails.browser;
|
|
847
847
|
const browserVersion$1 = adapter$6.browserDetails.version;
|
|
848
|
-
function setCodecPreferenceSDP(sdp,
|
|
848
|
+
function setCodecPreferenceSDP(sdp, redOn) {
|
|
849
849
|
var _a, _b;
|
|
850
850
|
try {
|
|
851
851
|
const sdpObject = sdpTransform.parse(sdp);
|
|
@@ -868,7 +868,7 @@ function setCodecPreferenceSDP(sdp, vp9On, redOn) {
|
|
|
868
868
|
if (Array.isArray(mediaVideo === null || mediaVideo === void 0 ? void 0 : mediaVideo.rtp)) {
|
|
869
869
|
const rtp = mediaVideo.rtp;
|
|
870
870
|
for (let i = 0; i < rtp.length; i++) {
|
|
871
|
-
if (
|
|
871
|
+
if (rtp[i].codec === "VP9") {
|
|
872
872
|
const payloads = (_b = mediaVideo.payloads) === null || _b === void 0 ? void 0 : _b.split(" ");
|
|
873
873
|
const pt = payloads === null || payloads === void 0 ? void 0 : payloads.indexOf("" + rtp[i].payload);
|
|
874
874
|
if (pt && pt !== -1 && pt >= 0) {
|
|
@@ -889,18 +889,25 @@ function setCodecPreferenceSDP(sdp, vp9On, redOn) {
|
|
|
889
889
|
function cleanSdp(sdp) {
|
|
890
890
|
try {
|
|
891
891
|
const sdpObject = sdpTransform.parse(sdp);
|
|
892
|
-
sdpObject.media.forEach(mediaObject => {
|
|
892
|
+
sdpObject.media.forEach((mediaObject) => {
|
|
893
893
|
const usedPayloads = {};
|
|
894
894
|
if (mediaObject.payloads)
|
|
895
|
-
mediaObject.payloads = ("" + mediaObject.payloads)
|
|
895
|
+
mediaObject.payloads = ("" + mediaObject.payloads)
|
|
896
|
+
.split(" ")
|
|
897
|
+
.filter((p) => !usedPayloads[p] && (usedPayloads[p] = true))
|
|
898
|
+
.join(" ");
|
|
896
899
|
const usedRtps = {};
|
|
897
|
-
mediaObject.rtp = mediaObject.rtp.filter(p => !p.payload || (usedPayloads[p.payload] && !usedRtps[p.payload] && (usedRtps[p.payload] = true)));
|
|
900
|
+
mediaObject.rtp = mediaObject.rtp.filter((p) => !p.payload || (usedPayloads[p.payload] && !usedRtps[p.payload] && (usedRtps[p.payload] = true)));
|
|
898
901
|
const usedFmtps = {};
|
|
899
902
|
if (mediaObject.fmtp)
|
|
900
|
-
mediaObject.fmtp = mediaObject.fmtp.filter(p => !p.payload ||
|
|
903
|
+
mediaObject.fmtp = mediaObject.fmtp.filter((p) => !p.payload ||
|
|
904
|
+
(usedPayloads[p.payload] && !usedFmtps[p.payload] && (usedFmtps[p.payload] = true)));
|
|
901
905
|
const usedRtcpFb = {};
|
|
902
906
|
if (mediaObject.rtcpFb)
|
|
903
|
-
mediaObject.rtcpFb = mediaObject.rtcpFb.filter(p => !p.payload ||
|
|
907
|
+
mediaObject.rtcpFb = mediaObject.rtcpFb.filter((p) => !p.payload ||
|
|
908
|
+
(usedPayloads[p.payload] &&
|
|
909
|
+
!usedRtcpFb[p.payload + p.type + p.subtype] &&
|
|
910
|
+
(usedRtcpFb[p.payload + p.type + p.subtype] = true)));
|
|
904
911
|
});
|
|
905
912
|
return sdpTransform.write(sdpObject);
|
|
906
913
|
}
|
|
@@ -2463,24 +2470,12 @@ const VIDEO_SETTINGS_VP9 = {
|
|
|
2463
2470
|
},
|
|
2464
2471
|
encodings: [{ scalabilityMode: "L3T2", maxBitrate: 1000000 }],
|
|
2465
2472
|
};
|
|
2466
|
-
const VIDEO_SETTINGS_VP9_KEY = {
|
|
2467
|
-
codecOptions: {
|
|
2468
|
-
videoGoogleStartBitrate: 500,
|
|
2469
|
-
},
|
|
2470
|
-
encodings: [{ scalabilityMode: "L3T2_KEY", maxBitrate: 1250000 }],
|
|
2471
|
-
};
|
|
2472
2473
|
const VIDEO_SETTINGS_VP9_LOW_BANDWIDTH = {
|
|
2473
2474
|
codecOptions: {
|
|
2474
2475
|
videoGoogleStartBitrate: 500,
|
|
2475
2476
|
},
|
|
2476
2477
|
encodings: [{ scalabilityMode: "L2T2", maxBitrate: 500000 }],
|
|
2477
2478
|
};
|
|
2478
|
-
const VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY = {
|
|
2479
|
-
codecOptions: {
|
|
2480
|
-
videoGoogleStartBitrate: 500,
|
|
2481
|
-
},
|
|
2482
|
-
encodings: [{ scalabilityMode: "L2T2_KEY", maxBitrate: 650000 }],
|
|
2483
|
-
};
|
|
2484
2479
|
const SCREEN_SHARE_SETTINGS = {
|
|
2485
2480
|
encodings: [{}],
|
|
2486
2481
|
};
|
|
@@ -2497,14 +2492,8 @@ const ADDITIONAL_SCREEN_SHARE_SETTINGS = {
|
|
|
2497
2492
|
{ scaleResolutionDownBy: 1, dtx: true, maxBitrate: 1500000 },
|
|
2498
2493
|
],
|
|
2499
2494
|
};
|
|
2500
|
-
const ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9 = {
|
|
2501
|
-
encodings: [{ scalabilityMode: "L2T2_KEY", dtx: true, maxBitrate: 1500000 }],
|
|
2502
|
-
};
|
|
2503
|
-
const SCREEN_SHARE_SETTINGS_VP9 = {
|
|
2504
|
-
encodings: [{ dtx: true }],
|
|
2505
|
-
};
|
|
2506
2495
|
const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresenting = false) => {
|
|
2507
|
-
const { lowDataModeEnabled, simulcastScreenshareOn, vp9On
|
|
2496
|
+
const { lowDataModeEnabled, simulcastScreenshareOn, vp9On } = features;
|
|
2508
2497
|
if (kind === "audio") {
|
|
2509
2498
|
return AUDIO_SETTINGS;
|
|
2510
2499
|
}
|
|
@@ -2512,7 +2501,6 @@ const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresent
|
|
|
2512
2501
|
const isVp9Available = isChrome && vp9On;
|
|
2513
2502
|
if (isScreenShare) {
|
|
2514
2503
|
return getScreenShareMediaSettings({
|
|
2515
|
-
isVp9Available,
|
|
2516
2504
|
isSomeoneAlreadyPresenting,
|
|
2517
2505
|
simulcastScreenshareOn,
|
|
2518
2506
|
});
|
|
@@ -2521,34 +2509,25 @@ const getMediaSettings = (kind, isScreenShare, features, isSomeoneAlreadyPresent
|
|
|
2521
2509
|
return getCameraMediaSettings({
|
|
2522
2510
|
lowBandwidth: lowDataModeEnabled,
|
|
2523
2511
|
isVp9Available,
|
|
2524
|
-
svcKeyScalabilityModeOn,
|
|
2525
2512
|
});
|
|
2526
2513
|
}
|
|
2527
2514
|
};
|
|
2528
|
-
const getCameraMediaSettings = ({ lowBandwidth, isVp9Available,
|
|
2515
|
+
const getCameraMediaSettings = ({ lowBandwidth, isVp9Available, }) => {
|
|
2529
2516
|
if (lowBandwidth) {
|
|
2530
2517
|
if (isVp9Available) {
|
|
2531
|
-
if (svcKeyScalabilityModeOn)
|
|
2532
|
-
return VIDEO_SETTINGS_VP9_LOW_BANDWIDTH_KEY;
|
|
2533
2518
|
return VIDEO_SETTINGS_VP9_LOW_BANDWIDTH;
|
|
2534
2519
|
}
|
|
2535
2520
|
return VIDEO_SETTINGS_SD;
|
|
2536
2521
|
}
|
|
2537
2522
|
if (isVp9Available) {
|
|
2538
|
-
if (svcKeyScalabilityModeOn)
|
|
2539
|
-
return VIDEO_SETTINGS_VP9_KEY;
|
|
2540
2523
|
return VIDEO_SETTINGS_VP9;
|
|
2541
2524
|
}
|
|
2542
2525
|
return VIDEO_SETTINGS_HD;
|
|
2543
2526
|
};
|
|
2544
|
-
const getScreenShareMediaSettings = ({
|
|
2527
|
+
const getScreenShareMediaSettings = ({ isSomeoneAlreadyPresenting, simulcastScreenshareOn, }) => {
|
|
2545
2528
|
if (isSomeoneAlreadyPresenting) {
|
|
2546
|
-
if (isVp9Available)
|
|
2547
|
-
return ADDITIONAL_SCREEN_SHARE_SETTINGS_VP9;
|
|
2548
2529
|
return ADDITIONAL_SCREEN_SHARE_SETTINGS;
|
|
2549
2530
|
}
|
|
2550
|
-
if (isVp9Available)
|
|
2551
|
-
return SCREEN_SHARE_SETTINGS_VP9;
|
|
2552
2531
|
if (simulcastScreenshareOn)
|
|
2553
2532
|
return SCREEN_SHARE_SIMULCAST_SETTINGS;
|
|
2554
2533
|
return SCREEN_SHARE_SETTINGS;
|
|
@@ -2593,10 +2572,8 @@ function prioritizeRouterRtpCapabilitiesCodecs(codecs, preferredCodec) {
|
|
|
2593
2572
|
return 0;
|
|
2594
2573
|
});
|
|
2595
2574
|
}
|
|
2596
|
-
function getPreferredOrder(availableCodecs, {
|
|
2597
|
-
|
|
2598
|
-
availableCodecs.unshift("video/vp9");
|
|
2599
|
-
}
|
|
2575
|
+
function getPreferredOrder(availableCodecs, { av1On }) {
|
|
2576
|
+
availableCodecs.unshift("video/vp9");
|
|
2600
2577
|
if (av1On) {
|
|
2601
2578
|
availableCodecs.unshift("video/av1");
|
|
2602
2579
|
}
|
|
@@ -2644,11 +2621,9 @@ function sortCodecsByPowerEfficiency(codecs) {
|
|
|
2644
2621
|
}
|
|
2645
2622
|
function sortCodecs(codecs, features) {
|
|
2646
2623
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
|
|
2650
|
-
}
|
|
2651
|
-
return codecs;
|
|
2624
|
+
let sortedCodecs = sortCodecsByMimeType(codecs, features);
|
|
2625
|
+
sortedCodecs = yield sortCodecsByPowerEfficiency(codecs);
|
|
2626
|
+
return sortedCodecs;
|
|
2652
2627
|
});
|
|
2653
2628
|
}
|
|
2654
2629
|
|
|
@@ -3791,10 +3766,7 @@ class P2pRtcManager {
|
|
|
3791
3766
|
}
|
|
3792
3767
|
_setCodecPreferences(pc) {
|
|
3793
3768
|
return __awaiter(this, void 0, void 0, function* () {
|
|
3794
|
-
const {
|
|
3795
|
-
if (!(p2pVp9On || p2pAv1On || redOn || preferP2pHardwareDecodingOn)) {
|
|
3796
|
-
return;
|
|
3797
|
-
}
|
|
3769
|
+
const { p2pAv1On, redOn } = this._features;
|
|
3798
3770
|
try {
|
|
3799
3771
|
const audioTransceivers = pc
|
|
3800
3772
|
.getTransceivers()
|
|
@@ -3822,13 +3794,9 @@ class P2pRtcManager {
|
|
|
3822
3794
|
if (videoTransceiver.setCodecPreferences === undefined)
|
|
3823
3795
|
return;
|
|
3824
3796
|
const capabilities = RTCRtpReceiver.getCapabilities("video");
|
|
3825
|
-
|
|
3826
|
-
|
|
3827
|
-
|
|
3828
|
-
av1On: p2pAv1On,
|
|
3829
|
-
preferHardwareDecodingOn: p2pVp9On || preferP2pHardwareDecodingOn,
|
|
3830
|
-
});
|
|
3831
|
-
}
|
|
3797
|
+
capabilities.codecs = yield sortCodecs(capabilities.codecs, {
|
|
3798
|
+
av1On: p2pAv1On,
|
|
3799
|
+
});
|
|
3832
3800
|
videoTransceiver.setCodecPreferences(capabilities.codecs);
|
|
3833
3801
|
})));
|
|
3834
3802
|
}
|
|
@@ -3850,14 +3818,14 @@ class P2pRtcManager {
|
|
|
3850
3818
|
return;
|
|
3851
3819
|
}
|
|
3852
3820
|
session.isOperationPending = true;
|
|
3853
|
-
const {
|
|
3821
|
+
const { redOn, rtpAbsCaptureTimeOn, cleanSdpOn } = this._features;
|
|
3854
3822
|
this._setCodecPreferences(pc).then(() => pc
|
|
3855
3823
|
.createOffer(constraints || this.offerOptions)
|
|
3856
3824
|
.then((offer) => {
|
|
3857
3825
|
if (rtpAbsCaptureTimeOn)
|
|
3858
3826
|
offer.sdp = addAbsCaptureTimeExtMap(offer.sdp);
|
|
3859
|
-
if (
|
|
3860
|
-
offer.sdp = setCodecPreferenceSDP(offer.sdp,
|
|
3827
|
+
if (browserName$1 === "firefox") {
|
|
3828
|
+
offer.sdp = setCodecPreferenceSDP(offer.sdp, redOn);
|
|
3861
3829
|
}
|
|
3862
3830
|
if (cleanSdpOn)
|
|
3863
3831
|
offer.sdp = cleanSdp(offer.sdp);
|
|
@@ -5625,12 +5593,16 @@ class VegaRtcManager {
|
|
|
5625
5593
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5626
5594
|
logger$3.info("_internalSendScreenVideo()");
|
|
5627
5595
|
this._screenVideoProducerPromise = (() => __awaiter(this, void 0, void 0, function* () {
|
|
5596
|
+
var _a, _b;
|
|
5628
5597
|
try {
|
|
5629
5598
|
if (!this._screenVideoTrack || !this._sendTransport || this._screenVideoProducer) {
|
|
5630
5599
|
this._screenVideoProducerPromise = null;
|
|
5631
5600
|
return;
|
|
5632
5601
|
}
|
|
5633
|
-
const
|
|
5602
|
+
const codec = this._features.sfuVp9On
|
|
5603
|
+
? (_b = (_a = this._routerRtpCapabilities) === null || _a === void 0 ? void 0 : _a.codecs) === null || _b === void 0 ? void 0 : _b.find((codec) => codec.mimeType.match(/vp8/i))
|
|
5604
|
+
: undefined;
|
|
5605
|
+
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenVideoTrack, disableTrackOnPause: false, stopTracks: false, codec }, getMediaSettings("video", true, Object.assign(Object.assign({}, this._features), { vp9On: false }), this._getIsSomeoneAlreadyPresenting())), { appData: {
|
|
5634
5606
|
streamId: OUTBOUND_SCREEN_OUTBOUND_STREAM_ID,
|
|
5635
5607
|
sourceClientId: this._selfId,
|
|
5636
5608
|
screenShare: true,
|
|
@@ -7947,5 +7919,5 @@ var RtcEventNames;
|
|
|
7947
7919
|
RtcEventNames["stream_added"] = "stream_added";
|
|
7948
7920
|
})(RtcEventNames || (RtcEventNames = {}));
|
|
7949
7921
|
|
|
7950
|
-
export { ADDITIONAL_SCREEN_SHARE_SETTINGS,
|
|
7922
|
+
export { ADDITIONAL_SCREEN_SHARE_SETTINGS, AUDIO_SETTINGS, BandwidthTester, EVENTS, KNOCK_MESSAGES, KalmanFilter, Logger, MEDIA_JITTER_BUFFER_TARGET, NoDevicesError, P2pRtcManager, PROTOCOL_ERRORS, PROTOCOL_EVENTS, PROTOCOL_REQUESTS, PROTOCOL_RESPONSES, RELAY_MESSAGES, ReconnectManager, RtcEventNames, RtcManagerDispatcher, RtcStream, SCREEN_SHARE_SETTINGS, SCREEN_SHARE_SIMULCAST_SETTINGS, STREAM_TYPES, ServerSocket, Session, SfuV2Parser, TYPES, VIDEO_SETTINGS_HD, VIDEO_SETTINGS_SD, VIDEO_SETTINGS_VP9, VIDEO_SETTINGS_VP9_LOW_BANDWIDTH, VegaConnection, VegaMediaQualityMonitor, VegaRtcManager, addAbsCaptureTimeExtMap, addExtMap, assert, buildDeviceList, calculateStd, captureAudioSsrcMetrics, captureCandidatePairInfoMetrics, captureCommonSsrcMetrics, captureSsrcInfo, captureVideoSsrcMetrics, changeMediaDirection, cleanSdp, compareLocalDevices, createACFCalculator, createMicAnalyser, createWorker, deprioritizeH264, detectMicrophoneNotWorking, enumerate, external_stun_servers, filterMidExtension, filterMsidSemantic, fromLocation, generateByteString, getConstraints, getCurrentPeerConnections, getDeviceData, getDisplayMedia, getIssuesAndMetrics, getMediaConstraints, getMediaSettings, getMediasoupDevice, getNumFailedStatsReports, getNumFailedTrackSsrcLookups, getNumMissingTrackSsrcLookups, getPeerConnectionIndex, getStats, getStream, getUpdatedDevices, getUpdatedStats, getUserMedia, hasGetDisplayMedia, ipRegex, isMobile, maybeRejectNoH264, maybeTurnOnly, modifyMediaCapabilities, removePeerConnection, replaceSSRCs, replaceTracksInStream, rtcManagerEvents, rtcStats, setClientProvider, setCodecPreferenceSDP, setPeerConnectionsForTests, setVideoBandwidthUsingSetParameters, sortCodecs, standardDeviation, startPerformanceMonitor, stopStreamTracks, subscribeIssues, subscribeStats, turnServerOverride, variance };
|
|
7951
7923
|
//# sourceMappingURL=legacy-esm.js.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@whereby.com/media",
|
|
3
3
|
"description": "Media library for Whereby",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.32.1",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/whereby/sdk",
|
|
7
7
|
"repository": {
|
|
@@ -56,11 +56,12 @@
|
|
|
56
56
|
"@babel/core": "^7.23.2",
|
|
57
57
|
"@babel/preset-env": "^7.23.2",
|
|
58
58
|
"@types/sdp-transform": "^2.4.9",
|
|
59
|
+
"@types/uuid": "^9.0.1",
|
|
59
60
|
"@types/uuid-validate": "^0.0.3",
|
|
60
|
-
"jest-websocket-mock": "^2.5.0",
|
|
61
|
-
"process": "^0.11.10",
|
|
62
61
|
"eslint": "^9.29.0",
|
|
62
|
+
"jest-websocket-mock": "^2.5.0",
|
|
63
63
|
"prettier": "^3.5.3",
|
|
64
|
+
"process": "^0.11.10",
|
|
64
65
|
"typescript": "^5.8.3",
|
|
65
66
|
"@whereby.com/eslint-config": "0.1.0",
|
|
66
67
|
"@whereby.com/jest-config": "0.1.0",
|