glcolorconvert: Use base transform metadata copy

Use base class default method instead of only copying flags and
timestamp. This way, selected meta's like compostion overlay will
be passed downstream as expected.

https://bugzilla.gnome.org/show_bug.cgi?id=754047
This commit is contained in:
Nicolas Dufresne 2015-08-24 19:28:10 -04:00
parent 5c106c0c2a
commit b06fc679ba

View file

@ -201,6 +201,9 @@ gst_gl_color_convert_element_prepare_output_buffer (GstBaseTransform * bt,
GstBuffer * inbuf, GstBuffer ** outbuf) GstBuffer * inbuf, GstBuffer ** outbuf)
{ {
GstGLColorConvertElement *convert = GST_GL_COLOR_CONVERT_ELEMENT (bt); GstGLColorConvertElement *convert = GST_GL_COLOR_CONVERT_ELEMENT (bt);
GstBaseTransformClass *bclass;
bclass = GST_BASE_TRANSFORM_GET_CLASS (bt);
if (gst_base_transform_is_passthrough (bt)) { if (gst_base_transform_is_passthrough (bt)) {
*outbuf = inbuf; *outbuf = inbuf;
@ -220,8 +223,8 @@ gst_gl_color_convert_element_prepare_output_buffer (GstBaseTransform * bt,
/* basetransform doesn't unref if they're the same */ /* basetransform doesn't unref if they're the same */
if (inbuf == *outbuf) if (inbuf == *outbuf)
gst_buffer_unref (*outbuf); gst_buffer_unref (*outbuf);
gst_buffer_copy_into (*outbuf, inbuf, else
GST_BUFFER_COPY_FLAGS | GST_BUFFER_COPY_TIMESTAMPS, 0, -1); bclass->copy_metadata (bt, inbuf, *outbuf);
return GST_FLOW_OK; return GST_FLOW_OK;
} }