Browse Source

fix(VP8): Scalability for FF 136+

For FF 136+ where DD extension is supported,  removing DD extension from the SDP will lead to broken scalabilty (the temporal scalability information will be missing and also DD extension header wont be included).
master
Hristo Terezov 5 months ago
parent
commit
f062e15e99
2 changed files with 5 additions and 3 deletions
  1. 4
    1
      modules/RTC/TPCUtils.js
  2. 1
    2
      modules/browser/BrowserCapabilities.js

+ 4
- 1
modules/RTC/TPCUtils.js View File

@@ -942,7 +942,10 @@ export class TPCUtils {
942 942
 
943 943
             if (isSender && mLine.ext?.length) {
944 944
                 const headerIndex = mLine.ext.findIndex(ext => ext.uri === DD_HEADER_EXT_URI);
945
-                const shouldNegotiateHeaderExts = codec === CodecMimeType.AV1 || codec === CodecMimeType.H264;
945
+                const shouldNegotiateHeaderExts = codec === CodecMimeType.AV1 || codec === CodecMimeType.H264
946
+
947
+                    // Removing DD ext header lines from the sdp breaks the scalability for FF with version 136+.
948
+                    || (codec === CodecMimeType.VP8 && browser.isFirefox());
946 949
 
947 950
                 if (!this.supportsDDHeaderExt && headerIndex >= 0) {
948 951
                     this.supportsDDHeaderExt = true;

+ 1
- 2
modules/browser/BrowserCapabilities.js View File

@@ -233,8 +233,7 @@ export default class BrowserCapabilities extends BrowserDetection {
233 233
      * @returns {boolean}
234 234
      */
235 235
     supportsScalabilityModeAPI() {
236
-        return (this.isChromiumBased() && this.isEngineVersionGreaterThan(112))
237
-            || (this.isFirefox() && this.isVersionGreaterThan(135));
236
+        return this.isChromiumBased() && this.isEngineVersionGreaterThan(112);
238 237
     }
239 238
 
240 239
     /**

Loading…
Cancel
Save