mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 09:10:36 +00:00
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:
parent
5c106c0c2a
commit
b06fc679ba
1 changed files with 5 additions and 2 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue