glvideomixer: intersect with template caps when updating

Downstream may provide extra things when we ask it for caps that we may
need to remove.

Fixes the following pipeline warning:

gltestsrc ! glvideomixerelement ! glimagesinkelement

** (gst-launch-1.0:908581): WARNING **: 13:53:28.518: glvideomixer0: update_src_caps returned caps which are not a real subset of the filter caps
This commit is contained in:
Matthew Waters 2020-04-10 14:05:08 +10:00
parent 7e5368627e
commit ebf8198a97

View file

@ -1038,7 +1038,7 @@ _mixer_pad_get_output_size (GstGLVideoMixer * mix,
static GstCaps *
_update_caps (GstVideoAggregator * vagg, GstCaps * caps)
{
GstCaps *ret;
GstCaps *template_caps, *ret;
GList *l;
GST_OBJECT_LOCK (vagg);
@ -1063,7 +1063,8 @@ _update_caps (GstVideoAggregator * vagg, GstCaps * caps)
GST_OBJECT_UNLOCK (vagg);
ret = gst_caps_ref (caps);
template_caps = gst_pad_get_pad_template_caps (GST_AGGREGATOR_SRC_PAD (vagg));
ret = gst_caps_intersect (caps, template_caps);
return ret;
}