Title: [293319] trunk/Source/WebCore
Revision
293319
Author
commit-qu...@webkit.org
Date
2022-04-25 02:20:22 -0700 (Mon, 25 Apr 2022)

Log Message

[GStreamer] Disable new demuxers based on adaptivedemux2
https://bugs.webkit.org/show_bug.cgi?id=239701

Patch by Philippe Normand <pnorm...@igalia.com> on 2022-04-25
Reviewed by Xabier Rodriguez-Calvar.

The new demuxers based on adaptivedemux2 cannot be used in WebKit yet because this new base
class does not abstract away network access. They can't work in a sandboxed media process,
so demote their rank in order to prevent decodebin3 from auto-plugging them.

* platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::registerWebKitGStreamerElements):

Canonical link: https://commits.webkit.org/249942@main

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (293318 => 293319)


--- trunk/Source/WebCore/ChangeLog	2022-04-25 07:57:24 UTC (rev 293318)
+++ trunk/Source/WebCore/ChangeLog	2022-04-25 09:20:22 UTC (rev 293319)
@@ -1,3 +1,17 @@
+2022-04-24  Philippe Normand  <ph...@igalia.com>
+
+        [GStreamer] Disable new demuxers based on adaptivedemux2
+        https://bugs.webkit.org/show_bug.cgi?id=239701
+
+        Reviewed by Xabier Rodriguez-Calvar.
+
+        The new demuxers based on adaptivedemux2 cannot be used in WebKit yet because this new base
+        class does not abstract away network access. They can't work in a sandboxed media process,
+        so demote their rank in order to prevent decodebin3 from auto-plugging them.
+
+        * platform/graphics/gstreamer/GStreamerCommon.cpp:
+        (WebCore::registerWebKitGStreamerElements):
+
 2022-04-24  Youenn Fablet  <you...@apple.com>
 
         TextTrackLoader should use SameOrigin mode by default

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp (293318 => 293319)


--- trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp	2022-04-25 07:57:24 UTC (rev 293318)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp	2022-04-25 09:20:22 UTC (rev 293319)
@@ -372,6 +372,17 @@
                     gst_plugin_feature_set_rank(GST_PLUGIN_FEATURE_CAST(avAACDecoderFactory.get()), GST_RANK_MARGINAL);
             }
         }
+
+        // The new demuxers based on adaptivedemux2 cannot be used in WebKit yet because this new
+        // base class does not abstract away network access. They can't work in a sandboxed
+        // media process, so demote their rank in order to prevent decodebin3 from auto-plugging them.
+        if (webkitGstCheckVersion(1, 21, 0)) {
+            const char* const elementNames[] = { "dashdemux2", "hlsdemux2", "mssdemux2" };
+            for (unsigned i = 0; i < G_N_ELEMENTS(elementNames); i++) {
+                if (auto factory = adoptGRef(gst_element_factory_find(elementNames[i])))
+                    gst_plugin_feature_set_rank(GST_PLUGIN_FEATURE_CAST(factory.get()), GST_RANK_NONE);
+            }
+        }
     });
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to