File tree Expand file tree Collapse file tree
Source/WebCore/platform/graphics/gstreamer/eme Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -110,7 +110,17 @@ static void webkitMediaThunderParserConstructed(GObject* object)
110110 self->priv ->parser = makeGStreamerElement (" parsebin" _s, " inner-parser" _s);
111111
112112 auto factories = gst_element_factory_list_get_elements (GST_ELEMENT_FACTORY_TYPE_DECRYPTOR, GST_RANK_MARGINAL);
113- factories = g_list_sort (factories, gst_plugin_feature_rank_compare_func);
113+ factories = g_list_sort (factories, [](gconstpointer p1, gconstpointer p2) -> gint {
114+ GstPluginFeature *f1, *f2;
115+ const gchar* name;
116+ f1 = (GstPluginFeature *) p1;
117+ f2 = (GstPluginFeature *) p2;
118+ if ((name = gst_plugin_feature_get_name (f1)) && g_str_has_prefix (name, " webkit" ))
119+ return -1 ;
120+ if ((name = gst_plugin_feature_get_name (f2)) && g_str_has_prefix (name, " webkit" ))
121+ return 1 ;
122+ return gst_plugin_feature_rank_compare_func (p1, p2);
123+ });
114124 for (GList* tmp = factories; tmp; tmp = tmp->next ) {
115125 auto factory = GST_ELEMENT_FACTORY_CAST (tmp->data );
116126 self->priv ->decryptor = gst_element_factory_create (factory, nullptr );
You can’t perform that action at this time.
0 commit comments