瀏覽代碼

feat(web) Add defaults and env variables for codec preference. (#1978)

* feat(web) Add defaults and env variables for codec preference.

* Update web/rootfs/defaults/settings-config.js

---------

Co-authored-by: Aaron van Meerten <aaron.van.meerten@gmail.com>
Jaya Allamsetty 5 月之前
父節點
當前提交
95275454cf
共有 2 個文件被更改,包括 22 次插入1 次删除
  1. 5 0
      docker-compose.yml
  2. 17 1
      web/rootfs/defaults/settings-config.js

+ 5 - 0
docker-compose.yml

@@ -24,6 +24,10 @@ services:
             - BRANDING_DATA_URL
             - BOSH_RELATIVE
             - CHROME_EXTENSION_BANNER_JSON
+            - CODEC_ORDER_JVB
+            - CODEC_ORDER_JVB_MOBILE
+            - CODEC_ORDER_P2P
+            - CODEC_ORDER_P2P_MOBILE
             - COLIBRI_WEBSOCKET_PORT
             - COLIBRI_WEBSOCKET_JVB_LOOKUP_NAME
             - COLIBRI_WEBSOCKET_REGEX
@@ -57,6 +61,7 @@ services:
             - DROPBOX_APPKEY
             - DROPBOX_REDIRECT_URI
             - DYNAMIC_BRANDING_URL
+            - ENABLE_ADAPTIVE_MODE
             - ENABLE_AUDIO_PROCESSING
             - ENABLE_AUTH
             - ENABLE_AUTH_DOMAIN

+ 17 - 1
web/rootfs/defaults/settings-config.js

@@ -1,4 +1,5 @@
 {{ $DEPLOYMENTINFO_USERREGION := .Env.DEPLOYMENTINFO_USERREGION | default "" -}}
+{{ $ENABLE_ADAPTIVE_MODE := .Env.ENABLE_ADAPTIVE_MODE | default "true" | toBool -}}
 {{ $ENABLE_AUDIO_PROCESSING := .Env.ENABLE_AUDIO_PROCESSING | default "true" | toBool -}}
 {{ $ENABLE_BREAKOUT_ROOMS := .Env.ENABLE_BREAKOUT_ROOMS | default "true" | toBool -}}
 {{ $ENABLE_CALENDAR := .Env.ENABLE_CALENDAR | default "false" | toBool -}}
@@ -63,6 +64,10 @@
 {{ $DISABLE_PROFILE := .Env.DISABLE_PROFILE | default "false" | toBool -}}
 {{ $ROOM_PASSWORD_DIGITS := .Env.ROOM_PASSWORD_DIGITS | default "false" -}}
 {{ $WHITEBOARD_ENABLED := or (.Env.WHITEBOARD_COLLAB_SERVER_PUBLIC_URL | default "" | toBool) (.Env.WHITEBOARD_COLLAB_SERVER_URL_BASE | default "" | toBool) }}
+{{ $CODEC_ORDER_JVB := .Env.CODEC_ORDER_JVB | default "[\"AV1\", \"VP9\", \"VP8\", \"H264\"]" -}}
+{{ $CODEC_ORDER_JVB_MOBILE := .Env.CODEC_ORDER_JVB_MOBILE | default "[\"VP8\", \"VP9\", \"H264\", \"AV1\"]" -}}
+{{ $CODEC_ORDER_P2P := .Env.CODEC_ORDER_JVB | default "[\"AV1\", \"VP9\", \"VP8\", \"H264\"]" -}}
+{{ $CODEC_ORDER_P2P_MOBILE := .Env.CODEC_ORDER_JVB_MOBILE | default "[\"VP8\", \"VP9\", \"H264\", \"AV1\"]" -}}
 
 // Video configuration.
 //
@@ -125,7 +130,9 @@ config.enableNoisyMicDetection = {{ $ENABLE_NOISY_MIC_DETECTION }};
 //
 
 config.p2p = {
-    enabled: {{ $ENABLE_P2P }}
+    enabled: {{ $ENABLE_P2P }};
+    codecPreferenceOrder: {{ $CODEC_ORDER_P2P }};
+    mobileCodecPreferenceOrder: {{ $CODEC_ORDER_P2P_MOBILE }}
 };
 
 
@@ -405,6 +412,10 @@ config.p2p.preferredCodec = '{{ .Env.P2P_PREFERRED_CODEC }}';
 //
 
 config.videoQuality = {};
+config.videoQuality.codecPreferenceOrder = {{ $CODEC_ORDER_JVB }};
+config.videoQuality.mobileCodecPreferenceOrder = {{ $CODEC_ORDER_JVB_MOBILE }};
+config.videoQuality.enableAdaptiveMode = {{ $ENABLE_ADAPTIVE_MODE }};
+
 {{ if .Env.VIDEOQUALITY_PREFERRED_CODEC -}}
 config.videoQuality.preferredCodec = '{{ .Env.VIDEOQUALITY_PREFERRED_CODEC }}';
 {{ end -}}
@@ -611,3 +622,8 @@ config.whiteboard.collabServerBaseUrl = 'https://eght-excalidraw-backend.cloudfl
 {{ end -}}
 config.whiteboard.userLimit = 25;
 {{ end -}}
+
+// Testing
+config.testing = {
+    enableCodecSelectionAPI: true
+};