diff options
author | Julien Isorce <julien.isorce@collabora.co.uk> | 2013-09-04 10:56:12 +0100 |
---|---|---|
committer | Julien Isorce <julien.isorce@collabora.co.uk> | 2013-09-04 13:32:14 +0100 |
commit | fdaa26e1c869f811fdf258a0ab6f286a3e6b3689 (patch) | |
tree | 19ace15dda7b3def0c7e9f6dc0515ca690cab7b5 /ext | |
parent | d16583d771da5562cb57e0263dbb908a70a6e02d (diff) | |
download | gstreamer-plugins-bad-fdaa26e1c869f811fdf258a0ab6f286a3e6b3689.tar.gz |
eglglessink: buffer pool does not need to maintain a ref on the display
Because it does not use it and also it may not know it when
we create the pool
Diffstat (limited to 'ext')
-rw-r--r-- | ext/eglgles/gsteglglessink.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/ext/eglgles/gsteglglessink.c b/ext/eglgles/gsteglglessink.c index df25934f4..5a3939b54 100644 --- a/ext/eglgles/gsteglglessink.c +++ b/ext/eglgles/gsteglglessink.c @@ -228,7 +228,6 @@ typedef struct GstVideoInfo info; gboolean add_metavideo; gboolean want_eglimage; - GstEGLDisplay *display; GstEGLImageBufferPoolSendBlockingAllocate send_blocking_allocate_func; gpointer send_blocking_allocate_data; @@ -245,7 +244,7 @@ G_DEFINE_TYPE (GstEGLImageBufferPool, gst_egl_image_buffer_pool, GST_TYPE_VIDEO_BUFFER_POOL); static GstBufferPool *gst_egl_image_buffer_pool_new (GstEglGlesSink * - eglglessink, GstEGLDisplay * display, + eglglessink, GstEGLImageBufferPoolSendBlockingAllocate blocking_allocate_func, gpointer blocking_allocate_data, GDestroyNotify destroy_func); @@ -468,10 +467,6 @@ gst_egl_image_buffer_pool_finalize (GObject * object) gst_object_unref (pool->sink); pool->sink = NULL; - if (pool->display) - gst_egl_display_unref (pool->display); - pool->display = NULL; - if (pool->send_blocking_allocate_destroy) pool->send_blocking_allocate_destroy (pool->send_blocking_allocate_data); pool->send_blocking_allocate_destroy = NULL; @@ -2047,7 +2042,6 @@ gst_eglglessink_propose_allocation (GstBaseSink * bsink, GstQuery * query) GST_DEBUG_OBJECT (eglglessink, "create new pool"); pool = gst_egl_image_buffer_pool_new (eglglessink, - eglglessink->egl_context->display, gst_eglglessink_egl_image_buffer_pool_send_blocking, gst_object_ref (eglglessink), gst_eglglessink_egl_image_buffer_pool_on_destroy); @@ -2202,7 +2196,6 @@ gst_eglglessink_setcaps (GstBaseSink * bsink, GstCaps * caps) newpool = gst_egl_image_buffer_pool_new (eglglessink, - eglglessink->egl_context->display, gst_eglglessink_egl_image_buffer_pool_send_blocking, gst_object_ref (eglglessink), gst_eglglessink_egl_image_buffer_pool_on_destroy); @@ -2476,15 +2469,13 @@ gst_eglglessink_init (GstEglGlesSink * eglglessink) } static GstBufferPool * -gst_egl_image_buffer_pool_new (GstEglGlesSink * - eglglessink, GstEGLDisplay * display, +gst_egl_image_buffer_pool_new (GstEglGlesSink * eglglessink, GstEGLImageBufferPoolSendBlockingAllocate blocking_allocate_func, gpointer blocking_allocate_data, GDestroyNotify destroy_func) { GstEGLImageBufferPool *pool; pool = g_object_new (gst_egl_image_buffer_pool_get_type (), NULL); - pool->display = gst_egl_display_ref (display); pool->sink = gst_object_ref (eglglessink); pool->send_blocking_allocate_func = blocking_allocate_func; pool->send_blocking_allocate_data = blocking_allocate_data; |