From c4d7dbce1a032305005620b160be7606e8ad84d3 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 17 Nov 2009 16:39:09 +0100 Subject: [PATCH] playsink: make sure we always go to PAUSED async Set the need_async_start flag before going to PAUSED so that we always post the ASYNC_START message, even after reusing playsink. --- gst/playback/gstplaysink.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gst/playback/gstplaysink.c b/gst/playback/gstplaysink.c index c72b9fefa0..20a84400c3 100644 --- a/gst/playback/gstplaysink.c +++ b/gst/playback/gstplaysink.c @@ -329,7 +329,6 @@ gst_play_sink_init (GstPlaySink * playsink) playsink->flags = DEFAULT_FLAGS; g_static_rec_mutex_init (&playsink->lock); - playsink->need_async_start = TRUE; GST_OBJECT_FLAG_SET (playsink, GST_ELEMENT_IS_SINK); } @@ -842,8 +841,10 @@ do_async_start (GstPlaySink * playsink) { GstMessage *message; - if (!playsink->need_async_start) + if (!playsink->need_async_start) { + GST_INFO_OBJECT (playsink, "no async_start needed"); return; + } playsink->async_pending = TRUE; @@ -2441,6 +2442,7 @@ gst_play_sink_change_state (GstElement * element, GstStateChange transition) switch (transition) { case GST_STATE_CHANGE_READY_TO_PAUSED: + playsink->need_async_start = TRUE; /* we want to go async to PAUSED until we managed to configure and add the * sinks */ do_async_start (playsink);