From 4fc1f3088b470a89c7e40e5b6e333f9537f12ee9 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 28 May 2013 15:10:07 +0200 Subject: [PATCH] rtspsrc: remove some obsolete code It is not needed to do a state change from the _play() function on ourselves. The state change function already did that and we don't want to interfere with that (or use hacks to avoid interference). --- gst/rtsp/gstrtspsrc.c | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index 4f1bc4a97a..92465d50c9 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -6388,28 +6388,6 @@ gst_rtspsrc_play (GstRTSPSrc * src, GstSegment * segment, gboolean async) * udp sources */ gst_rtspsrc_send_dummy_packets (src); - /* activate receive elements; - * only in async case, since receive elements may not have been affected - * by overall state change (e.g. not around yet), - * do not mess with state in sync case (e.g. seeking) */ - if (async) { - /* state change might be happening in the application thread. A - * specific case is when chaging state to NULL where we will wait - * for this task to finish (gst_rtspsrc_stop). However this task - * will try to change the state to PLAYING causing a deadlock. */ - - /* make sure we are not in the middle of a state change. The - * state lock is a recursive lock so it's safe to lock twice from - * the same thread */ - if (GST_STATE_TRYLOCK (src)) { - gst_element_set_state (GST_ELEMENT_CAST (src), GST_STATE_PLAYING); - GST_STATE_UNLOCK (src); - } else { - res = GST_RTSP_ERROR; - goto changing_state; - } - } - /* construct a control url */ if (src->control) control = src->control; @@ -6571,11 +6549,6 @@ was_playing: GST_DEBUG_OBJECT (src, "we were already PLAYING"); goto done; } -changing_state: - { - GST_DEBUG_OBJECT (src, "failed going to PLAYING, already changing state"); - goto done; - } create_request_failed: { gchar *str = gst_rtsp_strresult (res);