Commit 55dbb25d authored by Víctor Manuel Jáquez Leal's avatar Víctor Manuel Jáquez Leal Committed by Tim-Philipp Müller

glupload: move meta-data copy into gst-gl library

In some upload implementations the out buffer has more than one references,
turning the buffer not writable, so it won't be possible to modify its
meta-data.

This patch moves the meta-data copy before increasing the reference of the out
buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=746173
parent 420cdf9c
......@@ -239,9 +239,6 @@ gst_gl_upload_element_prepare_output_buffer (GstBaseTransform * bt,
/* basetransform doesn't unref if they're the same */
if (buffer == *outbuf)
gst_buffer_unref (*outbuf);
else if (*outbuf)
gst_buffer_copy_into (*outbuf, buffer,
GST_BUFFER_COPY_FLAGS | GST_BUFFER_COPY_TIMESTAMPS, 0, -1);
return ret == GST_GL_UPLOAD_DONE ? GST_FLOW_OK : GST_FLOW_ERROR;
}
......
......@@ -1109,8 +1109,12 @@ restart:
NEXT_METHOD;
}
if (outbuf_ptr)
if (outbuf_ptr) {
if (buffer != upload->priv->outbuf)
gst_buffer_copy_into (upload->priv->outbuf, buffer,
GST_BUFFER_COPY_FLAGS | GST_BUFFER_COPY_TIMESTAMPS, 0, -1);
*outbuf_ptr = gst_buffer_ref (upload->priv->outbuf);
}
GST_OBJECT_UNLOCK (upload);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment