diff options
author | Nicolas Dufresne <nicolas.dufresne@collabora.com> | 2015-08-24 19:28:10 -0400 |
---|---|---|
committer | Nicolas Dufresne <nicolas.dufresne@collabora.com> | 2015-08-25 13:20:52 -0400 |
commit | b06fc679baec687fb8e9923231224b4e339d32d6 (patch) | |
tree | 29af4300d77ae7e5d1b3ce1e4503229507a9e736 | |
parent | 5c106c0c2af22192fdc2ffbf110795f738e5adb6 (diff) | |
download | gstreamer-plugins-bad-b06fc679baec687fb8e9923231224b4e339d32d6.tar.gz |
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
-rw-r--r-- | ext/gl/gstglcolorconvertelement.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/ext/gl/gstglcolorconvertelement.c b/ext/gl/gstglcolorconvertelement.c index 09e739d87..e4ff6ca34 100644 --- a/ext/gl/gstglcolorconvertelement.c +++ b/ext/gl/gstglcolorconvertelement.c @@ -201,6 +201,9 @@ gst_gl_color_convert_element_prepare_output_buffer (GstBaseTransform * bt, GstBuffer * inbuf, GstBuffer ** outbuf) { GstGLColorConvertElement *convert = GST_GL_COLOR_CONVERT_ELEMENT (bt); + GstBaseTransformClass *bclass; + + bclass = GST_BASE_TRANSFORM_GET_CLASS (bt); if (gst_base_transform_is_passthrough (bt)) { *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 */ if (inbuf == *outbuf) gst_buffer_unref (*outbuf); - gst_buffer_copy_into (*outbuf, inbuf, - GST_BUFFER_COPY_FLAGS | GST_BUFFER_COPY_TIMESTAMPS, 0, -1); + else + bclass->copy_metadata (bt, inbuf, *outbuf); return GST_FLOW_OK; } |