From: Stefan Kost Date: Sat, 3 Apr 2010 20:39:20 +0000 (+0300) Subject: pulsesink: fix racy shutdown X-Git-Tag: RELEASE-0.10.22~74 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7cf9967e0b65fcf264487344dadfdacf33778ad3;p=platform%2Fupstream%2Fgst-plugins-good.git pulsesink: fix racy shutdown Keep a ref of pulsesink for deferred mainloop invocation. Fixes #614765 --- diff --git a/ext/pulse/pulsesink.c b/ext/pulse/pulsesink.c index 1fc221d..0460748 100644 --- a/ext/pulse/pulsesink.c +++ b/ext/pulse/pulsesink.c @@ -1025,6 +1025,7 @@ mainloop_leave_defer_cb (pa_mainloop_api * api, void *userdata) pulsesink->pa_defer_ran = TRUE; pa_threaded_mainloop_signal (pulsesink->mainloop, 0); + gst_object_unref (pulsesink); } /* stop playback, we flush everything. */ @@ -1071,6 +1072,7 @@ cleanup: GST_DEBUG_OBJECT (psink, "scheduling stream status"); psink->pa_defer_ran = FALSE; + gst_object_ref (psink); pa_mainloop_api_once (pa_threaded_mainloop_get_api (psink->mainloop), mainloop_leave_defer_cb, psink);