Skip to content

Commit 97f9d74

Browse files
authored
fix(config): Remove the deprecated configs. (jitsi#13500)
* fix(config): Remove the deprecated configs. Add the new codec selection settings for desktop and mobile endpoints. * fix(config): Use the new codec selection settings for RN. * Address review comments. * chore(deps) Update lib-jitsi-meet@latest. jitsi/lib-jitsi-meet@v1649.0.0+17ade96a...v1652.0.0+90da4884.
1 parent 159dd13 commit 97f9d74

File tree

6 files changed

+45
-48
lines changed

6 files changed

+45
-48
lines changed

config.js

+35-24
Original file line numberDiff line numberDiff line change
@@ -427,25 +427,9 @@ var config = {
427427

428428
// Specify the settings for video quality optimizations on the client.
429429
// videoQuality: {
430-
// // Provides a way to prevent a video codec from being negotiated on the JVB connection. The codec specified
431-
// // here will be removed from the list of codecs present in the SDP answer generated by the client. If the
432-
// // same codec is specified for both the disabled and preferred option, the disable settings will prevail.
433-
// // Note that 'VP8' cannot be disabled since it's a mandatory codec, the setting will be ignored in this case.
434-
// disabledCodec: 'H264',
435-
//
436-
// // Provides a way to set a preferred video codec for the JVB connection. If 'H264' is specified here,
437-
// // simulcast will be automatically disabled since JVB doesn't support H264 simulcast yet. This will only
438-
// // rearrange the the preference order of the codecs in the SDP answer generated by the browser only if the
439-
// // preferred codec specified here is present. Please ensure that the JVB offers the specified codec for this
440-
// // to take effect.
441-
// preferredCodec: 'VP8',
442430
//
443-
// // Provides a way to enforce the preferred codec for the conference even when the conference has endpoints
444-
// // that do not support the preferred codec. For example, older versions of Safari do not support VP9 yet.
445-
// // This will result in Safari not being able to decode video from endpoints sending VP9 video.
446-
// // When set to false, the conference falls back to VP8 whenever there is an endpoint that doesn't support the
447-
// // preferred codec and goes back to the preferred codec when that endpoint leaves.
448-
// enforcePreferredCodec: false,
431+
// // Provides a way to set the codec preference on desktop based endpoints.
432+
// codecPreferenceOrder: [ 'VP9', 'VP8', 'H264' ],
449433
//
450434
// // Provides a way to configure the maximum bitrates that will be enforced on the simulcast streams for
451435
// // video tracks. The keys in the object represent the type of the stream (LD, SD or HD) and the values
@@ -485,6 +469,24 @@ var config = {
485469
// 720: 'high',
486470
// },
487471
//
472+
// // Provides a way to set the codec preference on mobile devices, both on RN and mobile browser based endpoint
473+
// mobileCodecPreferenceOrder: [ 'VP8', 'VP9', 'H264' ],
474+
//
475+
// // DEPRECATED! Use `codecPreferenceOrder/mobileCodecPreferenceOrder` instead.
476+
// // Provides a way to prevent a video codec from being negotiated on the JVB connection. The codec specified
477+
// // here will be removed from the list of codecs present in the SDP answer generated by the client. If the
478+
// // same codec is specified for both the disabled and preferred option, the disable settings will prevail.
479+
// // Note that 'VP8' cannot be disabled since it's a mandatory codec, the setting will be ignored in this case.
480+
// disabledCodec: 'H264',
481+
//
482+
// // DEPRECATED! Use `codecPreferenceOrder/mobileCodecPreferenceOrder` instead.
483+
// // Provides a way to set a preferred video codec for the JVB connection. If 'H264' is specified here,
484+
// // simulcast will be automatically disabled since JVB doesn't support H264 simulcast yet. This will only
485+
// // rearrange the the preference order of the codecs in the SDP answer generated by the browser only if the
486+
// // preferred codec specified here is present. Please ensure that the JVB offers the specified codec for this
487+
// // to take effect.
488+
// preferredCodec: 'VP8',
489+
//
488490
// },
489491

490492
// Notification timeouts
@@ -935,12 +937,12 @@ var config = {
935937
// If not set, the effective value is 'all'.
936938
// iceTransportPolicy: 'all',
937939

938-
// Provides a way to set the video codec preference on the p2p connection. Acceptable
939-
// codec values are 'VP8', 'VP9' and 'H264'.
940-
// preferredCodec: 'H264',
941-
942-
// Provides a way to prevent a video codec from being negotiated on the p2p connection.
943-
// disabledCodec: '',
940+
// Provides a way to set the codec preference on mobile devices, both on RN and mobile browser based
941+
// endpoints.
942+
// mobileCodecPreferenceOrder: [ 'H264', 'VP8', 'VP9' ],
943+
//
944+
// Provides a way to set the codec preference on desktop based endpoints.
945+
// codecPreferenceOrder: [ 'VP9', 'VP8', 'H264 ],
944946

945947
// How long we're going to wait, before going back to P2P after the 3rd
946948
// participant has left the conference (to filter out page reload).
@@ -952,6 +954,15 @@ var config = {
952954
// { urls: 'stun:jitsi-meet.example.com:3478' },
953955
{ urls: 'stun:meet-jit-si-turnrelay.jitsi.net:443' },
954956
],
957+
958+
// DEPRECATED! Use `codecPreferenceOrder/mobileCodecPreferenceOrder` instead.
959+
// Provides a way to set the video codec preference on the p2p connection. Acceptable
960+
// codec values are 'VP8', 'VP9' and 'H264'.
961+
// preferredCodec: 'H264',
962+
963+
// DEPRECATED! Use `codecPreferenceOrder/mobileCodecPreferenceOrder` instead.
964+
// Provides a way to prevent a video codec from being negotiated on the p2p connection.
965+
// disabledCodec: '',
955966
},
956967

957968
analytics: {

package-lock.json

+5-5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
"js-md5": "0.6.1",
6666
"js-sha512": "0.8.0",
6767
"jwt-decode": "2.2.0",
68-
"lib-jitsi-meet": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1649.0.0+17ade96a/lib-jitsi-meet.tgz",
68+
"lib-jitsi-meet": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1652.0.0+90da4884/lib-jitsi-meet.tgz",
6969
"lodash": "4.17.21",
7070
"moment": "2.29.4",
7171
"moment-duration-format": "2.2.2",

react/features/base/config/configType.ts

+4-5
Original file line numberDiff line numberDiff line change
@@ -441,10 +441,10 @@ export interface IConfig {
441441
opusMaxAverageBitrate?: number;
442442
p2p?: {
443443
backToP2PDelay?: number;
444-
disabledCodec?: string;
444+
codecPreferenceOrder?: Array<string>;
445445
enabled?: boolean;
446446
iceTransportPolicy?: string;
447-
preferredCodec?: string;
447+
mobileCodecPreferenceOrder?: Array<string>;
448448
stunServers?: Array<{ urls: string; }>;
449449
};
450450
participantsPane?: {
@@ -545,8 +545,7 @@ export interface IConfig {
545545
useHostPageLocalStorage?: boolean;
546546
useTurnUdp?: boolean;
547547
videoQuality?: {
548-
disabledCodec?: string;
549-
enforcePreferredCodec?: boolean;
548+
codecPreferenceOrder?: Array<string>;
550549
maxBitratesVideo?: {
551550
[key: string]: {
552551
high?: number;
@@ -557,8 +556,8 @@ export interface IConfig {
557556
minHeightForQualityLvl?: {
558557
[key: number]: string;
559558
};
559+
mobileCodecPreferenceOrder?: Array<string>;
560560
persist?: boolean;
561-
preferredCodec?: string;
562561
};
563562
webhookProxyUrl?: string;
564563
webrtcIceTcpDisable?: boolean;

react/features/base/config/configWhitelist.ts

-1
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,6 @@ export default [
195195
'p2p',
196196
'participantsPane',
197197
'pcStatsInterval',
198-
'preferredCodec',
199198
'prejoinConfig',
200199
'prejoinPageEnabled',
201200
'recordingService',

react/features/base/config/reducer.ts

-12
Original file line numberDiff line numberDiff line change
@@ -43,18 +43,6 @@ const INITIAL_NON_RN_STATE: IConfig = {
4343
* @type {Object}
4444
*/
4545
const INITIAL_RN_STATE: IConfig = {
46-
// FIXME: Mobile codecs should probably be configurable separately, rather
47-
// FIXME: than requiring this override here...
48-
49-
p2p: {
50-
disabledCodec: 'vp9',
51-
preferredCodec: 'h264'
52-
},
53-
54-
videoQuality: {
55-
disabledCodec: 'vp9',
56-
preferredCodec: 'vp8'
57-
}
5846
};
5947

6048
/**

0 commit comments

Comments
 (0)