glcolorconvert: Use base transform metadata copy
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Mon, 24 Aug 2015 23:28:10 +0000 (19:28 -0400)
committerNicolas Dufresne <nicolas.dufresne@collabora.com>
Tue, 25 Aug 2015 17:20:52 +0000 (13:20 -0400)
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

ext/gl/gstglcolorconvertelement.c

index 09e739d..e4ff6ca 100644 (file)
@@ -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;
 }