From: Wim Taymans Date: Mon, 9 Sep 2013 13:11:51 +0000 (+0200) Subject: rtspsrc: only wait if we flushed X-Git-Tag: 1.1.90~50 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9f9bcbc40578847821412e6949984cdc96ebf77a;p=platform%2Fupstream%2Fgst-plugins-good.git rtspsrc: only wait if we flushed Only wait for the STREAM_LOCK when we flushed something when sending a command for PAUSED or PLAYING. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=707611 --- diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index aa8ba98..2be6543 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -7102,10 +7102,11 @@ gst_rtspsrc_change_state (GstElement * element, GstStateChange transition) case GST_STATE_CHANGE_PAUSED_TO_PLAYING: case GST_STATE_CHANGE_PLAYING_TO_PAUSED: /* unblock the tcp tasks and make the loop waiting */ - gst_rtspsrc_loop_send_cmd (rtspsrc, CMD_WAIT, CMD_LOOP); - /* make sure it is waiting before we send PAUSE or PLAY below */ - GST_RTSP_STREAM_LOCK (rtspsrc); - GST_RTSP_STREAM_UNLOCK (rtspsrc); + if (gst_rtspsrc_loop_send_cmd (rtspsrc, CMD_WAIT, CMD_LOOP)) { + /* make sure it is waiting before we send PAUSE or PLAY below */ + GST_RTSP_STREAM_LOCK (rtspsrc); + GST_RTSP_STREAM_UNLOCK (rtspsrc); + } break; case GST_STATE_CHANGE_PAUSED_TO_READY: break;