eglglessink: Fix GstContext refcounting
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 17 Apr 2013 11:16:27 +0000 (13:16 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Wed, 17 Apr 2013 11:16:27 +0000 (13:16 +0200)
ext/eglgles/gstegladaptation_egl.c

index 50df421f4031dc7bc9de6ab8e3da5333831a754b..254a6443e001c88ffc63c06075e5e55330c17eb4 100644 (file)
@@ -157,6 +157,7 @@ gst_egl_adaptation_init_egl_display (GstEglAdaptationContext * ctx)
     context = gst_context_make_writable (context);
     gst_context_set_egl_display (context, ctx->display);
     gst_element_set_context (GST_ELEMENT_CAST (ctx->element), context);
+    gst_context_unref (context);
   } else {
     GstContext *context;
 
@@ -174,6 +175,7 @@ gst_egl_adaptation_init_egl_display (GstEglAdaptationContext * ctx)
 
     msg = gst_message_new_have_context (GST_OBJECT (ctx->element), context);
     gst_element_post_message (GST_ELEMENT_CAST (ctx->element), msg);
+    context = NULL;
 
     context = gst_element_get_context (GST_ELEMENT_CAST (ctx->element));
     if (!context)
@@ -181,6 +183,7 @@ gst_egl_adaptation_init_egl_display (GstEglAdaptationContext * ctx)
     context = gst_context_make_writable (context);
     gst_context_set_egl_display (context, ctx->display);
     gst_element_set_context (GST_ELEMENT_CAST (ctx->element), context);
+    gst_context_unref (context);
   }
 
   if (!eglInitialize (gst_egl_display_get (ctx->display),