⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 293319 in webkit


Ignore:
Timestamp:
Apr 25, 2022, 2:20:22 AM (4 years ago)
Author:
commit-queue@webkit.org
Message:

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

Patch by Philippe Normand <pnormand@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

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r293311 r293319  
     12022-04-24  Philippe Normand  <philn@igalia.com>
     2
     3        [GStreamer] Disable new demuxers based on adaptivedemux2
     4        https://bugs.webkit.org/show_bug.cgi?id=239701
     5
     6        Reviewed by Xabier Rodriguez-Calvar.
     7
     8        The new demuxers based on adaptivedemux2 cannot be used in WebKit yet because this new base
     9        class does not abstract away network access. They can't work in a sandboxed media process,
     10        so demote their rank in order to prevent decodebin3 from auto-plugging them.
     11
     12        * platform/graphics/gstreamer/GStreamerCommon.cpp:
     13        (WebCore::registerWebKitGStreamerElements):
     14
    1152022-04-24  Youenn Fablet  <youenn@apple.com>
    216
  • trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp

    r292696 r293319  
    373373            }
    374374        }
     375
     376        // The new demuxers based on adaptivedemux2 cannot be used in WebKit yet because this new
     377        // base class does not abstract away network access. They can't work in a sandboxed
     378        // media process, so demote their rank in order to prevent decodebin3 from auto-plugging them.
     379        if (webkitGstCheckVersion(1, 21, 0)) {
     380            const char* const elementNames[] = { "dashdemux2", "hlsdemux2", "mssdemux2" };
     381            for (unsigned i = 0; i < G_N_ELEMENTS(elementNames); i++) {
     382                if (auto factory = adoptGRef(gst_element_factory_find(elementNames[i])))
     383                    gst_plugin_feature_set_rank(GST_PLUGIN_FEATURE_CAST(factory.get()), GST_RANK_NONE);
     384            }
     385        }
    375386    });
    376387}
Note: See TracChangeset for help on using the changeset viewer.