Kaynağa Gözat

fix(AV1): scalability for FF 136+

master
Hristo Terezov 5 ay önce
ebeveyn
işleme
ec955fae34

+ 5
- 0
modules/RTC/TPCUtils.js Dosyayı Görüntüle

@@ -728,6 +728,11 @@ export class TPCUtils {
728 728
             // only one outbound-rtp stream is present, three separate encodings have to be configured.
729 729
             || (!this.codecSettings[videoCodec].scalabilityModeEnabled && videoCodec === CodecMimeType.VP9)
730 730
 
731
+            // FF uses simulcast with AV1.
732
+            || (!this.codecSettings[videoCodec].scalabilityModeEnabled
733
+                && this.codecSettings[videoCodec].useSimulcast
734
+                && videoCodec === CodecMimeType.AV1)
735
+
731 736
             // When scalability is enabled, always for H.264, and only when simulcast is explicitly enabled via
732 737
             // config.js for VP9 and AV1 since full SVC is the default mode for these 2 codecs.
733 738
             || (this.codecSettings[videoCodec].scalabilityModeEnabled

+ 9
- 0
modules/browser/BrowserCapabilities.js Dosyayı Görüntüle

@@ -245,6 +245,15 @@ export default class BrowserCapabilities extends BrowserDetection {
245 245
         return this.isChromiumBased() && this.isEngineVersionLessThan(112);
246 246
     }
247 247
 
248
+    /**
249
+     * Returns true if K-SVC is supported for AV1.
250
+     *
251
+     * @returns {boolean}
252
+     */
253
+    supportsKSVCForAV1() {
254
+        return !this.isFirefox();
255
+    }
256
+
248 257
     /**
249 258
      * Returns true if VP9 is supported by the client on the browser. VP9 is currently disabled on Safari
250 259
      * and older versions of Firefox because of issues. Please check https://bugs.webkit.org/show_bug.cgi?id=231074 for

+ 2
- 2
service/RTC/StandardVideoQualitySettings.ts Dosyayı Görüntüle

@@ -57,8 +57,8 @@ export const STANDARD_CODEC_SETTINGS = {
57 57
             none: 0
58 58
         },
59 59
         scalabilityModeEnabled: browser.supportsScalabilityModeAPI(),
60
-        useSimulcast: false, // defaults to SVC.
61
-        useKSVC: true // defaults to L3T3_KEY for SVC mode.
60
+        useSimulcast: !browser.supportsKSVCForAV1(),
61
+        useKSVC: browser.supportsKSVCForAV1()
62 62
     },
63 63
     h264: {
64 64
         maxBitratesVideo: {

Loading…
İptal
Kaydet