mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-24 02:31:03 +00:00
subtitleoverlay: don't use soon-to-be-deprecated gst_filter_run()
This commit is contained in:
parent
d430eb65c5
commit
b6c424018b
1 changed files with 23 additions and 3 deletions
|
@ -383,7 +383,7 @@ gst_subtitle_overlay_create_factory_caps (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
_filter_factories_for_caps (GstElementFactory * factory, const GstCaps * caps)
|
check_factory_for_caps (GstElementFactory * factory, const GstCaps * caps)
|
||||||
{
|
{
|
||||||
GstCaps *fcaps = _get_sub_caps (factory);
|
GstCaps *fcaps = _get_sub_caps (factory);
|
||||||
gboolean ret = (fcaps) ? gst_caps_can_intersect (fcaps, caps) : FALSE;
|
gboolean ret = (fcaps) ? gst_caps_can_intersect (fcaps, caps) : FALSE;
|
||||||
|
@ -396,6 +396,26 @@ _filter_factories_for_caps (GstElementFactory * factory, const GstCaps * caps)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static GList *
|
||||||
|
gst_subtitle_overlay_get_factories_for_caps (const GList * list,
|
||||||
|
const GstCaps * caps)
|
||||||
|
{
|
||||||
|
const GList *walk = list;
|
||||||
|
GList *result = NULL;
|
||||||
|
|
||||||
|
while (walk) {
|
||||||
|
GstElementFactory *factory = walk->data;
|
||||||
|
|
||||||
|
walk = g_list_next (walk);
|
||||||
|
|
||||||
|
if (check_factory_for_caps (factory, caps)) {
|
||||||
|
result = g_list_prepend (result, factory);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
static gint
|
static gint
|
||||||
_sort_by_ranks (GstPluginFeature * f1, GstPluginFeature * f2)
|
_sort_by_ranks (GstPluginFeature * f1, GstPluginFeature * f2)
|
||||||
{
|
{
|
||||||
|
@ -813,8 +833,8 @@ _pad_blocked_cb (GstPad * pad, gboolean blocked, gpointer user_data)
|
||||||
g_mutex_lock (self->factories_lock);
|
g_mutex_lock (self->factories_lock);
|
||||||
gst_subtitle_overlay_update_factory_list (self);
|
gst_subtitle_overlay_update_factory_list (self);
|
||||||
if (subcaps) {
|
if (subcaps) {
|
||||||
factories = gst_filter_run (self->factories,
|
factories =
|
||||||
(GstFilterFunc) _filter_factories_for_caps, FALSE, subcaps);
|
gst_subtitle_overlay_get_factories_for_caps (self->factories, subcaps);
|
||||||
if (!factories) {
|
if (!factories) {
|
||||||
GstMessage *msg;
|
GstMessage *msg;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue