diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2013-04-17 13:48:28 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2013-04-17 13:48:28 +0200 |
commit | a8cca170278d76c2b3dcce5d73d63e7a2257070c (patch) | |
tree | df4ee7d6f71503906633f7c2c47307135d5fdcee | |
parent | f39874260830219338fda4e47767b22be382cffc (diff) | |
download | gstreamer-plugins-bad-a8cca170278d76c2b3dcce5d73d63e7a2257070c.tar.gz |
eglglessink: Fix GstContext refcounting some more
-rw-r--r-- | ext/eglgles/gsteglglessink.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ext/eglgles/gsteglglessink.c b/ext/eglgles/gsteglglessink.c index 8236e5cd8..cdda6d62d 100644 --- a/ext/eglgles/gsteglglessink.c +++ b/ext/eglgles/gsteglglessink.c @@ -1853,6 +1853,8 @@ gst_eglglessink_event (GstBaseSink * bsink, GstEvent * event) GST_OBJECT_UNLOCK (eglglessink); } + gst_context_unref (context); + return GST_BASE_SINK_CLASS (gst_eglglessink_parent_class)->event (bsink, event); break; @@ -1894,6 +1896,7 @@ gst_eglglessink_query (GstBaseSink * bsink, GstQuery * query) gst_context_set_egl_display (context, eglglessink->egl_context->display); gst_query_set_context (query, context); + gst_context_unref (context); break; } } @@ -1925,11 +1928,12 @@ gst_eglglessink_set_context (GstElement * element, GstContext * context) } GST_OBJECT_LOCK (eglglessink); - context = gst_context_make_writable (context); + context = gst_context_copy (context); gst_context_set_egl_display (context, eglglessink->egl_context->display); GST_OBJECT_UNLOCK (eglglessink); GST_ELEMENT_CLASS (parent_class)->set_context (element, context); + gst_context_unref (context); } static gboolean |