videoconvert: Filter-out crop meta

To passthrough crop-meta, the converter would need to allocate and
convert buffers of the size of the originating buffer. This is currently
made difficult by GstBaseTransform since we cannot alter the caps passed
though the allocation query. We would also need to wait for the first
input buffer to be received in order to make the decision around that
size.

So the short and safe solution is just to stop pretending we can
passthrought that meta.

https://bugzilla.gnome.org/show_bug.cgi?id=791412
This commit is contained in:
Nicolas Dufresne 2017-12-10 14:59:54 -05:00
parent a8a5905ec6
commit 5affe09c48

View file

@ -371,7 +371,13 @@ static gboolean
gst_video_convert_filter_meta (GstBaseTransform * trans, GstQuery * query, gst_video_convert_filter_meta (GstBaseTransform * trans, GstQuery * query,
GType api, const GstStructure * params) GType api, const GstStructure * params)
{ {
/* propose all metadata upstream */ /* This element cannot passthrough the crop meta, because it would convert the
* wrong sub-region of the image, and worst, our output image may not be large
* enough for the crop to be applied later */
if (api == GST_VIDEO_CROP_META_API_TYPE)
return FALSE;
/* propose all other metadata upstream */
return TRUE; return TRUE;
} }