From e0dfbe9dfaabe9ca5828885f8d8b16433223aa5f Mon Sep 17 00:00:00 2001 From: Julien Isorce Date: Thu, 10 Oct 2013 14:01:44 +0100 Subject: [PATCH] examples/overlay: unref sink only when found In gtk-videooverlay and qt-videooverlay examples. --- tests/examples/overlay/gtk-videooverlay.c | 7 ++++--- tests/examples/overlay/qt-videooverlay.cpp | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/tests/examples/overlay/gtk-videooverlay.c b/tests/examples/overlay/gtk-videooverlay.c index e49092fc97..f99baa8700 100644 --- a/tests/examples/overlay/gtk-videooverlay.c +++ b/tests/examples/overlay/gtk-videooverlay.c @@ -57,8 +57,8 @@ find_video_sink (void) return sink; gst_element_set_state (sink, GST_STATE_NULL); + gst_object_unref (sink); } - gst_object_unref (sink); if ((sink = gst_element_factory_make ("ximagesink", NULL))) { sret = gst_element_set_state (sink, GST_STATE_READY); @@ -66,8 +66,8 @@ find_video_sink (void) return sink; gst_element_set_state (sink, GST_STATE_NULL); + gst_object_unref (sink); } - gst_object_unref (sink); if (strcmp (DEFAULT_VIDEOSINK, "xvimagesink") == 0 || strcmp (DEFAULT_VIDEOSINK, "ximagesink") == 0) @@ -84,8 +84,9 @@ find_video_sink (void) return sink; gst_element_set_state (sink, GST_STATE_NULL); + gst_object_unref (sink); } - gst_object_unref (sink); + return NULL; } diff --git a/tests/examples/overlay/qt-videooverlay.cpp b/tests/examples/overlay/qt-videooverlay.cpp index d5c9d9ebb5..01449fcc9a 100644 --- a/tests/examples/overlay/qt-videooverlay.cpp +++ b/tests/examples/overlay/qt-videooverlay.cpp @@ -46,8 +46,8 @@ find_video_sink (void) return sink; gst_element_set_state (sink, GST_STATE_NULL); + gst_object_unref (sink); } - gst_object_unref (sink); if ((sink = gst_element_factory_make ("ximagesink", NULL))) { sret = gst_element_set_state (sink, GST_STATE_READY); @@ -55,8 +55,8 @@ find_video_sink (void) return sink; gst_element_set_state (sink, GST_STATE_NULL); + gst_object_unref (sink); } - gst_object_unref (sink); if (strcmp (DEFAULT_VIDEOSINK, "xvimagesink") == 0 || strcmp (DEFAULT_VIDEOSINK, "ximagesink") == 0) @@ -73,8 +73,9 @@ find_video_sink (void) return sink; gst_element_set_state (sink, GST_STATE_NULL); + gst_object_unref (sink); } - gst_object_unref (sink); + return NULL; }