diff options
author | Wim Taymans <wim.taymans@collabora.co.uk> | 2009-11-17 16:39:09 +0100 |
---|---|---|
committer | Wim Taymans <wim.taymans@collabora.co.uk> | 2009-11-17 16:39:09 +0100 |
commit | c4d7dbce1a032305005620b160be7606e8ad84d3 (patch) | |
tree | f0babb4e281f87b02d90b4ca706fef7c34232034 /gst/playback/gstplaysink.c | |
parent | 65773b58dd62022ef632403ce515a80538aab254 (diff) |
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.
Diffstat (limited to 'gst/playback/gstplaysink.c')
-rw-r--r-- | gst/playback/gstplaysink.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gst/playback/gstplaysink.c b/gst/playback/gstplaysink.c index c72b9fefa..20a84400c 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); |