@whereby.com/media 1.21.0 → 1.21.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 +16 -13
- package/dist/index.d.cts +14 -6
- package/dist/index.d.mts +14 -6
- package/dist/index.d.ts +14 -6
- package/dist/index.mjs +16 -13
- package/dist/legacy-esm.js +16 -13
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -2582,7 +2582,7 @@ const SCREEN_SHARE_SETTINGS_VP9 = {
|
|
|
2582
2582
|
encodings: [{ dtx: true }],
|
|
2583
2583
|
};
|
|
2584
2584
|
const getMediaSettings = (kind, isScreenShare, features) => {
|
|
2585
|
-
const { lowDataModeEnabled, simulcastScreenshareOn,
|
|
2585
|
+
const { lowDataModeEnabled, simulcastScreenshareOn, lowBandwidth, vp9On } = features;
|
|
2586
2586
|
if (kind === "audio") {
|
|
2587
2587
|
return AUDIO_SETTINGS;
|
|
2588
2588
|
}
|
|
@@ -3787,7 +3787,7 @@ class P2pRtcManager {
|
|
|
3787
3787
|
this._negotiatePeerConnection(clientId, session, Object.assign({}, this.offerOptions, { iceRestart: true }));
|
|
3788
3788
|
}
|
|
3789
3789
|
}
|
|
3790
|
-
_setCodecPreferences(pc, {
|
|
3790
|
+
_setCodecPreferences(pc, { p2pVp9On, p2pAv1On, redOn, }) {
|
|
3791
3791
|
try {
|
|
3792
3792
|
const audioTransceivers = pc
|
|
3793
3793
|
.getTransceivers()
|
|
@@ -3813,8 +3813,11 @@ class P2pRtcManager {
|
|
|
3813
3813
|
if (RTCRtpReceiver.getCapabilities === undefined)
|
|
3814
3814
|
return;
|
|
3815
3815
|
const capabilities = RTCRtpReceiver.getCapabilities("video");
|
|
3816
|
-
if (
|
|
3817
|
-
capabilities.codecs = sortCodecsByMimeType(capabilities.codecs, {
|
|
3816
|
+
if (p2pVp9On || p2pAv1On) {
|
|
3817
|
+
capabilities.codecs = sortCodecsByMimeType(capabilities.codecs, {
|
|
3818
|
+
vp9On: p2pVp9On,
|
|
3819
|
+
av1On: p2pAv1On,
|
|
3820
|
+
});
|
|
3818
3821
|
}
|
|
3819
3822
|
if (videoTransceiver.setCodecPreferences === undefined)
|
|
3820
3823
|
return;
|
|
@@ -3838,16 +3841,16 @@ class P2pRtcManager {
|
|
|
3838
3841
|
return;
|
|
3839
3842
|
}
|
|
3840
3843
|
session.isOperationPending = true;
|
|
3841
|
-
const {
|
|
3842
|
-
if (
|
|
3843
|
-
this._setCodecPreferences(pc, {
|
|
3844
|
+
const { p2pVp9On, p2pAv1On, redOn, rtpAbsCaptureTimeOn, cleanSdpOn } = this._features;
|
|
3845
|
+
if (p2pVp9On || p2pAv1On || redOn) {
|
|
3846
|
+
this._setCodecPreferences(pc, { p2pVp9On, p2pAv1On, redOn });
|
|
3844
3847
|
}
|
|
3845
3848
|
pc.createOffer(constraints || this.offerOptions)
|
|
3846
3849
|
.then((offer) => {
|
|
3847
3850
|
if (rtpAbsCaptureTimeOn)
|
|
3848
3851
|
offer.sdp = addAbsCaptureTimeExtMap(offer.sdp);
|
|
3849
|
-
if ((
|
|
3850
|
-
offer.sdp = setCodecPreferenceSDP(offer.sdp,
|
|
3852
|
+
if ((p2pVp9On || redOn) && browserName$1 === "firefox") {
|
|
3853
|
+
offer.sdp = setCodecPreferenceSDP(offer.sdp, p2pVp9On, redOn);
|
|
3851
3854
|
}
|
|
3852
3855
|
if (cleanSdpOn)
|
|
3853
3856
|
offer.sdp = cleanSdp(offer.sdp);
|
|
@@ -5384,7 +5387,7 @@ class VegaRtcManager {
|
|
|
5384
5387
|
return;
|
|
5385
5388
|
}
|
|
5386
5389
|
const currentPaused = this._micPaused;
|
|
5387
|
-
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._micTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("audio", false, this._features)), { appData: {
|
|
5390
|
+
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._micTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("audio", false, Object.assign(Object.assign({}, this._features), { vp9On: this._features.sfuVp9On }))), { appData: {
|
|
5388
5391
|
streamId: OUTBOUND_CAM_OUTBOUND_STREAM_ID,
|
|
5389
5392
|
sourceClientId: this._selfId,
|
|
5390
5393
|
screenShare: false,
|
|
@@ -5550,7 +5553,7 @@ class VegaRtcManager {
|
|
|
5550
5553
|
var _b, _c;
|
|
5551
5554
|
try {
|
|
5552
5555
|
const currentPaused = this._webcamPaused;
|
|
5553
|
-
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._webcamTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("video", false, this._features)), { appData: {
|
|
5556
|
+
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._webcamTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("video", false, Object.assign(Object.assign({}, this._features), { vp9On: this._features.sfuVp9On }))), { appData: {
|
|
5554
5557
|
streamId: OUTBOUND_CAM_OUTBOUND_STREAM_ID,
|
|
5555
5558
|
sourceClientId: this._selfId,
|
|
5556
5559
|
screenShare: false,
|
|
@@ -5652,7 +5655,7 @@ class VegaRtcManager {
|
|
|
5652
5655
|
this._screenVideoProducerPromise = null;
|
|
5653
5656
|
return;
|
|
5654
5657
|
}
|
|
5655
|
-
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenVideoTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("video",
|
|
5658
|
+
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenVideoTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("video", false, Object.assign(Object.assign({}, this._features), { vp9On: this._features.sfuVp9On }))), { appData: {
|
|
5656
5659
|
streamId: OUTBOUND_SCREEN_OUTBOUND_STREAM_ID,
|
|
5657
5660
|
sourceClientId: this._selfId,
|
|
5658
5661
|
screenShare: true,
|
|
@@ -5726,7 +5729,7 @@ class VegaRtcManager {
|
|
|
5726
5729
|
this._screenAudioProducerPromise = null;
|
|
5727
5730
|
return;
|
|
5728
5731
|
}
|
|
5729
|
-
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenAudioTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("audio",
|
|
5732
|
+
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenAudioTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("audio", false, Object.assign(Object.assign({}, this._features), { vp9On: this._features.sfuVp9On }))), { appData: {
|
|
5730
5733
|
streamId: OUTBOUND_SCREEN_OUTBOUND_STREAM_ID,
|
|
5731
5734
|
sourceClientId: this._selfId,
|
|
5732
5735
|
screenShare: true,
|
package/dist/index.d.cts
CHANGED
|
@@ -541,9 +541,9 @@ declare class P2pRtcManager implements RtcManager {
|
|
|
541
541
|
_monitorVideoTrack(track: CustomMediaStreamTrack): void;
|
|
542
542
|
_connect(clientId: string): Promise<any>;
|
|
543
543
|
_maybeRestartIce(clientId: string, session: any): void;
|
|
544
|
-
_setCodecPreferences(pc: RTCPeerConnection, {
|
|
545
|
-
|
|
546
|
-
|
|
544
|
+
_setCodecPreferences(pc: RTCPeerConnection, { p2pVp9On, p2pAv1On, redOn, }: {
|
|
545
|
+
p2pVp9On?: boolean;
|
|
546
|
+
p2pAv1On?: boolean;
|
|
547
547
|
redOn?: boolean;
|
|
548
548
|
}): void;
|
|
549
549
|
_negotiatePeerConnection(clientId: string, session: any, constraints?: any): void;
|
|
@@ -600,10 +600,18 @@ declare const ipRegex: {
|
|
|
600
600
|
}): RegExp;
|
|
601
601
|
};
|
|
602
602
|
|
|
603
|
-
declare const getMediaSettings: (kind: string, isScreenShare: boolean, features:
|
|
603
|
+
declare const getMediaSettings: (kind: string, isScreenShare: boolean, features: {
|
|
604
|
+
lowDataModeEnabled?: boolean;
|
|
605
|
+
simulcastScreenshareOn?: boolean;
|
|
606
|
+
lowBandwidth?: boolean;
|
|
607
|
+
vp9On?: boolean;
|
|
608
|
+
}) => {
|
|
604
609
|
encodings: {}[];
|
|
605
610
|
};
|
|
606
|
-
declare const modifyMediaCapabilities: (routerRtpCapabilities: any, features:
|
|
611
|
+
declare const modifyMediaCapabilities: (routerRtpCapabilities: any, features: {
|
|
612
|
+
vp9On?: boolean;
|
|
613
|
+
h264On?: boolean;
|
|
614
|
+
}) => void;
|
|
607
615
|
interface Codec {
|
|
608
616
|
clockRate: number;
|
|
609
617
|
mimeType: string;
|
|
@@ -1088,7 +1096,7 @@ declare const rtcStats: {
|
|
|
1088
1096
|
};
|
|
1089
1097
|
};
|
|
1090
1098
|
|
|
1091
|
-
declare function setCodecPreferenceSDP(sdp: any, vp9On
|
|
1099
|
+
declare function setCodecPreferenceSDP(sdp: any, vp9On?: boolean, redOn?: boolean): string | undefined;
|
|
1092
1100
|
declare function cleanSdp(sdp: string): string;
|
|
1093
1101
|
declare function maybeRejectNoH264(sdp: any): any;
|
|
1094
1102
|
declare function deprioritizeH264(sdp: any): string;
|
package/dist/index.d.mts
CHANGED
|
@@ -541,9 +541,9 @@ declare class P2pRtcManager implements RtcManager {
|
|
|
541
541
|
_monitorVideoTrack(track: CustomMediaStreamTrack): void;
|
|
542
542
|
_connect(clientId: string): Promise<any>;
|
|
543
543
|
_maybeRestartIce(clientId: string, session: any): void;
|
|
544
|
-
_setCodecPreferences(pc: RTCPeerConnection, {
|
|
545
|
-
|
|
546
|
-
|
|
544
|
+
_setCodecPreferences(pc: RTCPeerConnection, { p2pVp9On, p2pAv1On, redOn, }: {
|
|
545
|
+
p2pVp9On?: boolean;
|
|
546
|
+
p2pAv1On?: boolean;
|
|
547
547
|
redOn?: boolean;
|
|
548
548
|
}): void;
|
|
549
549
|
_negotiatePeerConnection(clientId: string, session: any, constraints?: any): void;
|
|
@@ -600,10 +600,18 @@ declare const ipRegex: {
|
|
|
600
600
|
}): RegExp;
|
|
601
601
|
};
|
|
602
602
|
|
|
603
|
-
declare const getMediaSettings: (kind: string, isScreenShare: boolean, features:
|
|
603
|
+
declare const getMediaSettings: (kind: string, isScreenShare: boolean, features: {
|
|
604
|
+
lowDataModeEnabled?: boolean;
|
|
605
|
+
simulcastScreenshareOn?: boolean;
|
|
606
|
+
lowBandwidth?: boolean;
|
|
607
|
+
vp9On?: boolean;
|
|
608
|
+
}) => {
|
|
604
609
|
encodings: {}[];
|
|
605
610
|
};
|
|
606
|
-
declare const modifyMediaCapabilities: (routerRtpCapabilities: any, features:
|
|
611
|
+
declare const modifyMediaCapabilities: (routerRtpCapabilities: any, features: {
|
|
612
|
+
vp9On?: boolean;
|
|
613
|
+
h264On?: boolean;
|
|
614
|
+
}) => void;
|
|
607
615
|
interface Codec {
|
|
608
616
|
clockRate: number;
|
|
609
617
|
mimeType: string;
|
|
@@ -1088,7 +1096,7 @@ declare const rtcStats: {
|
|
|
1088
1096
|
};
|
|
1089
1097
|
};
|
|
1090
1098
|
|
|
1091
|
-
declare function setCodecPreferenceSDP(sdp: any, vp9On
|
|
1099
|
+
declare function setCodecPreferenceSDP(sdp: any, vp9On?: boolean, redOn?: boolean): string | undefined;
|
|
1092
1100
|
declare function cleanSdp(sdp: string): string;
|
|
1093
1101
|
declare function maybeRejectNoH264(sdp: any): any;
|
|
1094
1102
|
declare function deprioritizeH264(sdp: any): string;
|
package/dist/index.d.ts
CHANGED
|
@@ -541,9 +541,9 @@ declare class P2pRtcManager implements RtcManager {
|
|
|
541
541
|
_monitorVideoTrack(track: CustomMediaStreamTrack): void;
|
|
542
542
|
_connect(clientId: string): Promise<any>;
|
|
543
543
|
_maybeRestartIce(clientId: string, session: any): void;
|
|
544
|
-
_setCodecPreferences(pc: RTCPeerConnection, {
|
|
545
|
-
|
|
546
|
-
|
|
544
|
+
_setCodecPreferences(pc: RTCPeerConnection, { p2pVp9On, p2pAv1On, redOn, }: {
|
|
545
|
+
p2pVp9On?: boolean;
|
|
546
|
+
p2pAv1On?: boolean;
|
|
547
547
|
redOn?: boolean;
|
|
548
548
|
}): void;
|
|
549
549
|
_negotiatePeerConnection(clientId: string, session: any, constraints?: any): void;
|
|
@@ -600,10 +600,18 @@ declare const ipRegex: {
|
|
|
600
600
|
}): RegExp;
|
|
601
601
|
};
|
|
602
602
|
|
|
603
|
-
declare const getMediaSettings: (kind: string, isScreenShare: boolean, features:
|
|
603
|
+
declare const getMediaSettings: (kind: string, isScreenShare: boolean, features: {
|
|
604
|
+
lowDataModeEnabled?: boolean;
|
|
605
|
+
simulcastScreenshareOn?: boolean;
|
|
606
|
+
lowBandwidth?: boolean;
|
|
607
|
+
vp9On?: boolean;
|
|
608
|
+
}) => {
|
|
604
609
|
encodings: {}[];
|
|
605
610
|
};
|
|
606
|
-
declare const modifyMediaCapabilities: (routerRtpCapabilities: any, features:
|
|
611
|
+
declare const modifyMediaCapabilities: (routerRtpCapabilities: any, features: {
|
|
612
|
+
vp9On?: boolean;
|
|
613
|
+
h264On?: boolean;
|
|
614
|
+
}) => void;
|
|
607
615
|
interface Codec {
|
|
608
616
|
clockRate: number;
|
|
609
617
|
mimeType: string;
|
|
@@ -1088,7 +1096,7 @@ declare const rtcStats: {
|
|
|
1088
1096
|
};
|
|
1089
1097
|
};
|
|
1090
1098
|
|
|
1091
|
-
declare function setCodecPreferenceSDP(sdp: any, vp9On
|
|
1099
|
+
declare function setCodecPreferenceSDP(sdp: any, vp9On?: boolean, redOn?: boolean): string | undefined;
|
|
1092
1100
|
declare function cleanSdp(sdp: string): string;
|
|
1093
1101
|
declare function maybeRejectNoH264(sdp: any): any;
|
|
1094
1102
|
declare function deprioritizeH264(sdp: any): string;
|
package/dist/index.mjs
CHANGED
|
@@ -2557,7 +2557,7 @@ const SCREEN_SHARE_SETTINGS_VP9 = {
|
|
|
2557
2557
|
encodings: [{ dtx: true }],
|
|
2558
2558
|
};
|
|
2559
2559
|
const getMediaSettings = (kind, isScreenShare, features) => {
|
|
2560
|
-
const { lowDataModeEnabled, simulcastScreenshareOn,
|
|
2560
|
+
const { lowDataModeEnabled, simulcastScreenshareOn, lowBandwidth, vp9On } = features;
|
|
2561
2561
|
if (kind === "audio") {
|
|
2562
2562
|
return AUDIO_SETTINGS;
|
|
2563
2563
|
}
|
|
@@ -3762,7 +3762,7 @@ class P2pRtcManager {
|
|
|
3762
3762
|
this._negotiatePeerConnection(clientId, session, Object.assign({}, this.offerOptions, { iceRestart: true }));
|
|
3763
3763
|
}
|
|
3764
3764
|
}
|
|
3765
|
-
_setCodecPreferences(pc, {
|
|
3765
|
+
_setCodecPreferences(pc, { p2pVp9On, p2pAv1On, redOn, }) {
|
|
3766
3766
|
try {
|
|
3767
3767
|
const audioTransceivers = pc
|
|
3768
3768
|
.getTransceivers()
|
|
@@ -3788,8 +3788,11 @@ class P2pRtcManager {
|
|
|
3788
3788
|
if (RTCRtpReceiver.getCapabilities === undefined)
|
|
3789
3789
|
return;
|
|
3790
3790
|
const capabilities = RTCRtpReceiver.getCapabilities("video");
|
|
3791
|
-
if (
|
|
3792
|
-
capabilities.codecs = sortCodecsByMimeType(capabilities.codecs, {
|
|
3791
|
+
if (p2pVp9On || p2pAv1On) {
|
|
3792
|
+
capabilities.codecs = sortCodecsByMimeType(capabilities.codecs, {
|
|
3793
|
+
vp9On: p2pVp9On,
|
|
3794
|
+
av1On: p2pAv1On,
|
|
3795
|
+
});
|
|
3793
3796
|
}
|
|
3794
3797
|
if (videoTransceiver.setCodecPreferences === undefined)
|
|
3795
3798
|
return;
|
|
@@ -3813,16 +3816,16 @@ class P2pRtcManager {
|
|
|
3813
3816
|
return;
|
|
3814
3817
|
}
|
|
3815
3818
|
session.isOperationPending = true;
|
|
3816
|
-
const {
|
|
3817
|
-
if (
|
|
3818
|
-
this._setCodecPreferences(pc, {
|
|
3819
|
+
const { p2pVp9On, p2pAv1On, redOn, rtpAbsCaptureTimeOn, cleanSdpOn } = this._features;
|
|
3820
|
+
if (p2pVp9On || p2pAv1On || redOn) {
|
|
3821
|
+
this._setCodecPreferences(pc, { p2pVp9On, p2pAv1On, redOn });
|
|
3819
3822
|
}
|
|
3820
3823
|
pc.createOffer(constraints || this.offerOptions)
|
|
3821
3824
|
.then((offer) => {
|
|
3822
3825
|
if (rtpAbsCaptureTimeOn)
|
|
3823
3826
|
offer.sdp = addAbsCaptureTimeExtMap(offer.sdp);
|
|
3824
|
-
if ((
|
|
3825
|
-
offer.sdp = setCodecPreferenceSDP(offer.sdp,
|
|
3827
|
+
if ((p2pVp9On || redOn) && browserName$1 === "firefox") {
|
|
3828
|
+
offer.sdp = setCodecPreferenceSDP(offer.sdp, p2pVp9On, redOn);
|
|
3826
3829
|
}
|
|
3827
3830
|
if (cleanSdpOn)
|
|
3828
3831
|
offer.sdp = cleanSdp(offer.sdp);
|
|
@@ -5359,7 +5362,7 @@ class VegaRtcManager {
|
|
|
5359
5362
|
return;
|
|
5360
5363
|
}
|
|
5361
5364
|
const currentPaused = this._micPaused;
|
|
5362
|
-
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._micTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("audio", false, this._features)), { appData: {
|
|
5365
|
+
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._micTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("audio", false, Object.assign(Object.assign({}, this._features), { vp9On: this._features.sfuVp9On }))), { appData: {
|
|
5363
5366
|
streamId: OUTBOUND_CAM_OUTBOUND_STREAM_ID,
|
|
5364
5367
|
sourceClientId: this._selfId,
|
|
5365
5368
|
screenShare: false,
|
|
@@ -5525,7 +5528,7 @@ class VegaRtcManager {
|
|
|
5525
5528
|
var _b, _c;
|
|
5526
5529
|
try {
|
|
5527
5530
|
const currentPaused = this._webcamPaused;
|
|
5528
|
-
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._webcamTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("video", false, this._features)), { appData: {
|
|
5531
|
+
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._webcamTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("video", false, Object.assign(Object.assign({}, this._features), { vp9On: this._features.sfuVp9On }))), { appData: {
|
|
5529
5532
|
streamId: OUTBOUND_CAM_OUTBOUND_STREAM_ID,
|
|
5530
5533
|
sourceClientId: this._selfId,
|
|
5531
5534
|
screenShare: false,
|
|
@@ -5627,7 +5630,7 @@ class VegaRtcManager {
|
|
|
5627
5630
|
this._screenVideoProducerPromise = null;
|
|
5628
5631
|
return;
|
|
5629
5632
|
}
|
|
5630
|
-
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenVideoTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("video",
|
|
5633
|
+
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenVideoTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("video", false, Object.assign(Object.assign({}, this._features), { vp9On: this._features.sfuVp9On }))), { appData: {
|
|
5631
5634
|
streamId: OUTBOUND_SCREEN_OUTBOUND_STREAM_ID,
|
|
5632
5635
|
sourceClientId: this._selfId,
|
|
5633
5636
|
screenShare: true,
|
|
@@ -5701,7 +5704,7 @@ class VegaRtcManager {
|
|
|
5701
5704
|
this._screenAudioProducerPromise = null;
|
|
5702
5705
|
return;
|
|
5703
5706
|
}
|
|
5704
|
-
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenAudioTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("audio",
|
|
5707
|
+
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenAudioTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("audio", false, Object.assign(Object.assign({}, this._features), { vp9On: this._features.sfuVp9On }))), { appData: {
|
|
5705
5708
|
streamId: OUTBOUND_SCREEN_OUTBOUND_STREAM_ID,
|
|
5706
5709
|
sourceClientId: this._selfId,
|
|
5707
5710
|
screenShare: true,
|
package/dist/legacy-esm.js
CHANGED
|
@@ -2557,7 +2557,7 @@ const SCREEN_SHARE_SETTINGS_VP9 = {
|
|
|
2557
2557
|
encodings: [{ dtx: true }],
|
|
2558
2558
|
};
|
|
2559
2559
|
const getMediaSettings = (kind, isScreenShare, features) => {
|
|
2560
|
-
const { lowDataModeEnabled, simulcastScreenshareOn,
|
|
2560
|
+
const { lowDataModeEnabled, simulcastScreenshareOn, lowBandwidth, vp9On } = features;
|
|
2561
2561
|
if (kind === "audio") {
|
|
2562
2562
|
return AUDIO_SETTINGS;
|
|
2563
2563
|
}
|
|
@@ -3762,7 +3762,7 @@ class P2pRtcManager {
|
|
|
3762
3762
|
this._negotiatePeerConnection(clientId, session, Object.assign({}, this.offerOptions, { iceRestart: true }));
|
|
3763
3763
|
}
|
|
3764
3764
|
}
|
|
3765
|
-
_setCodecPreferences(pc, {
|
|
3765
|
+
_setCodecPreferences(pc, { p2pVp9On, p2pAv1On, redOn, }) {
|
|
3766
3766
|
try {
|
|
3767
3767
|
const audioTransceivers = pc
|
|
3768
3768
|
.getTransceivers()
|
|
@@ -3788,8 +3788,11 @@ class P2pRtcManager {
|
|
|
3788
3788
|
if (RTCRtpReceiver.getCapabilities === undefined)
|
|
3789
3789
|
return;
|
|
3790
3790
|
const capabilities = RTCRtpReceiver.getCapabilities("video");
|
|
3791
|
-
if (
|
|
3792
|
-
capabilities.codecs = sortCodecsByMimeType(capabilities.codecs, {
|
|
3791
|
+
if (p2pVp9On || p2pAv1On) {
|
|
3792
|
+
capabilities.codecs = sortCodecsByMimeType(capabilities.codecs, {
|
|
3793
|
+
vp9On: p2pVp9On,
|
|
3794
|
+
av1On: p2pAv1On,
|
|
3795
|
+
});
|
|
3793
3796
|
}
|
|
3794
3797
|
if (videoTransceiver.setCodecPreferences === undefined)
|
|
3795
3798
|
return;
|
|
@@ -3813,16 +3816,16 @@ class P2pRtcManager {
|
|
|
3813
3816
|
return;
|
|
3814
3817
|
}
|
|
3815
3818
|
session.isOperationPending = true;
|
|
3816
|
-
const {
|
|
3817
|
-
if (
|
|
3818
|
-
this._setCodecPreferences(pc, {
|
|
3819
|
+
const { p2pVp9On, p2pAv1On, redOn, rtpAbsCaptureTimeOn, cleanSdpOn } = this._features;
|
|
3820
|
+
if (p2pVp9On || p2pAv1On || redOn) {
|
|
3821
|
+
this._setCodecPreferences(pc, { p2pVp9On, p2pAv1On, redOn });
|
|
3819
3822
|
}
|
|
3820
3823
|
pc.createOffer(constraints || this.offerOptions)
|
|
3821
3824
|
.then((offer) => {
|
|
3822
3825
|
if (rtpAbsCaptureTimeOn)
|
|
3823
3826
|
offer.sdp = addAbsCaptureTimeExtMap(offer.sdp);
|
|
3824
|
-
if ((
|
|
3825
|
-
offer.sdp = setCodecPreferenceSDP(offer.sdp,
|
|
3827
|
+
if ((p2pVp9On || redOn) && browserName$1 === "firefox") {
|
|
3828
|
+
offer.sdp = setCodecPreferenceSDP(offer.sdp, p2pVp9On, redOn);
|
|
3826
3829
|
}
|
|
3827
3830
|
if (cleanSdpOn)
|
|
3828
3831
|
offer.sdp = cleanSdp(offer.sdp);
|
|
@@ -5359,7 +5362,7 @@ class VegaRtcManager {
|
|
|
5359
5362
|
return;
|
|
5360
5363
|
}
|
|
5361
5364
|
const currentPaused = this._micPaused;
|
|
5362
|
-
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._micTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("audio", false, this._features)), { appData: {
|
|
5365
|
+
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._micTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("audio", false, Object.assign(Object.assign({}, this._features), { vp9On: this._features.sfuVp9On }))), { appData: {
|
|
5363
5366
|
streamId: OUTBOUND_CAM_OUTBOUND_STREAM_ID,
|
|
5364
5367
|
sourceClientId: this._selfId,
|
|
5365
5368
|
screenShare: false,
|
|
@@ -5525,7 +5528,7 @@ class VegaRtcManager {
|
|
|
5525
5528
|
var _b, _c;
|
|
5526
5529
|
try {
|
|
5527
5530
|
const currentPaused = this._webcamPaused;
|
|
5528
|
-
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._webcamTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("video", false, this._features)), { appData: {
|
|
5531
|
+
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._webcamTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("video", false, Object.assign(Object.assign({}, this._features), { vp9On: this._features.sfuVp9On }))), { appData: {
|
|
5529
5532
|
streamId: OUTBOUND_CAM_OUTBOUND_STREAM_ID,
|
|
5530
5533
|
sourceClientId: this._selfId,
|
|
5531
5534
|
screenShare: false,
|
|
@@ -5627,7 +5630,7 @@ class VegaRtcManager {
|
|
|
5627
5630
|
this._screenVideoProducerPromise = null;
|
|
5628
5631
|
return;
|
|
5629
5632
|
}
|
|
5630
|
-
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenVideoTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("video",
|
|
5633
|
+
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenVideoTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("video", false, Object.assign(Object.assign({}, this._features), { vp9On: this._features.sfuVp9On }))), { appData: {
|
|
5631
5634
|
streamId: OUTBOUND_SCREEN_OUTBOUND_STREAM_ID,
|
|
5632
5635
|
sourceClientId: this._selfId,
|
|
5633
5636
|
screenShare: true,
|
|
@@ -5701,7 +5704,7 @@ class VegaRtcManager {
|
|
|
5701
5704
|
this._screenAudioProducerPromise = null;
|
|
5702
5705
|
return;
|
|
5703
5706
|
}
|
|
5704
|
-
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenAudioTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("audio",
|
|
5707
|
+
const producer = yield this._sendTransport.produce(Object.assign(Object.assign({ track: this._screenAudioTrack, disableTrackOnPause: false, stopTracks: false }, getMediaSettings("audio", false, Object.assign(Object.assign({}, this._features), { vp9On: this._features.sfuVp9On }))), { appData: {
|
|
5705
5708
|
streamId: OUTBOUND_SCREEN_OUTBOUND_STREAM_ID,
|
|
5706
5709
|
sourceClientId: this._selfId,
|
|
5707
5710
|
screenShare: true,
|