From: Matthew Waters Date: Wed, 6 Apr 2016 04:15:40 +0000 (+0000) Subject: glupload: keep the parent buffer around when converting EGLImage to 2D textures X-Git-Tag: 1.19.3~511^2~1989^2~355 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3ee21830389034360b8d6ff756b8dcc3344a88f6;p=platform%2Fupstream%2Fgstreamer.git glupload: keep the parent buffer around when converting EGLImage to 2D textures e.g. receiving and releasing a buffer from OMX too early will potentially cause textures to be overwritten while/before they are displayed. --- diff --git a/gst-libs/gst/gl/gstglupload.c b/gst-libs/gst/gl/gstglupload.c index 32e6150fad..0f11e0415b 100644 --- a/gst-libs/gst/gl/gstglupload.c +++ b/gst-libs/gst/gl/gstglupload.c @@ -583,6 +583,8 @@ _egl_image_upload_perform_gl_thread (GstGLContext * context, /* FIXME: buffer pool */ *image->outbuf = gst_buffer_new (); + gst_buffer_add_parent_buffer_meta (*image->outbuf, image->buffer); + gst_gl_memory_setup_buffer (allocator, *image->outbuf, image->params); gst_object_unref (allocator); @@ -600,10 +602,6 @@ _egl_image_upload_perform_gl_thread (GstGLContext * context, gl->EGLImageTargetTexture2D (GL_TEXTURE_2D, gst_egl_image_memory_get_image (mem)); } - - if (GST_IS_GL_BUFFER_POOL (image->buffer->pool)) - gst_gl_buffer_pool_replace_last_buffer (GST_GL_BUFFER_POOL (image-> - buffer->pool), image->buffer); } static GstGLUploadReturn