subtitleoverlay: Use gst_caps_merge() instead of gst_caps_union()

This keeps the caps order and is more efficient.
This commit is contained in:
Sebastian Dröge 2011-11-04 10:37:12 +01:00
parent 6e9a302eca
commit 7875ee11a5

View file

@ -298,26 +298,16 @@ _factory_filter (GstPluginFeature * feature, GstCaps ** subcaps)
templ_caps = _get_sub_caps (factory);
if (is_renderer && have_video_sink && templ_caps) {
GstCaps *tmp;
GST_DEBUG ("Found renderer element %s (%s) with caps %" GST_PTR_FORMAT,
gst_element_factory_get_longname (factory),
gst_plugin_feature_get_name (feature), templ_caps);
tmp = gst_caps_union (*subcaps, templ_caps);
gst_caps_unref (templ_caps);
gst_caps_replace (subcaps, tmp);
gst_caps_unref (tmp);
gst_caps_merge (*subcaps, templ_caps);
return TRUE;
} else if (!is_renderer && !have_video_sink && templ_caps) {
GstCaps *tmp;
GST_DEBUG ("Found parser element %s (%s) with caps %" GST_PTR_FORMAT,
gst_element_factory_get_longname (factory),
gst_plugin_feature_get_name (feature), templ_caps);
tmp = gst_caps_union (*subcaps, templ_caps);
gst_caps_unref (templ_caps);
gst_caps_replace (subcaps, tmp);
gst_caps_unref (tmp);
gst_caps_merge (*subcaps, templ_caps);
return TRUE;
} else {
if (templ_caps)