From: Tim-Philipp Müller Date: Thu, 11 Feb 2010 20:14:59 +0000 (+0000) Subject: gst-launch: don't leak timeout GSource X-Git-Tag: RELEASE-0.10.27~46 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=33a38153f4b50289d4763640b6aca44e8eaefe01;p=platform%2Fupstream%2Fgstreamer.git gst-launch: don't leak timeout GSource --- diff --git a/tools/gst-launch.c b/tools/gst-launch.c index 38acb75..caca18b 100644 --- a/tools/gst-launch.c +++ b/tools/gst-launch.c @@ -387,6 +387,9 @@ play_signal_setup (void) static EventLoopResult event_loop (GstElement * pipeline, gboolean blocking, GstState target_state) { +#ifndef DISABLE_FAULT_HANDLER + gulong timeout_id; +#endif GstBus *bus; GstMessage *message = NULL; EventLoopResult res = ELR_NO_ERROR; @@ -395,7 +398,7 @@ event_loop (GstElement * pipeline, gboolean blocking, GstState target_state) bus = gst_element_get_bus (GST_ELEMENT (pipeline)); #ifndef DISABLE_FAULT_HANDLER - g_timeout_add (250, (GSourceFunc) check_intr, pipeline); + timeout_id = g_timeout_add (250, (GSourceFunc) check_intr, pipeline); #endif while (TRUE) { @@ -653,6 +656,9 @@ exit: if (message) gst_message_unref (message); gst_object_unref (bus); +#ifndef DISABLE_FAULT_HANDLER + g_source_remove (timeout_id); +#endif return res; } }