瀏覽代碼

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).
dev0
Hristo Terezov 5 月之前
父節點
當前提交
1e7ee41e2a
共有 2 個檔案被更改,包括 5 行新增3 行删除
  1. 4
    1
      modules/RTC/TPCUtils.js
  2. 1
    2
      modules/browser/BrowserCapabilities.js

+ 4
- 1
modules/RTC/TPCUtils.js 查看文件

@@ -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 查看文件

@@ -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…
取消
儲存