diff --git a/gst-libs/gst/rtsp/gstrtspconnection.c b/gst-libs/gst/rtsp/gstrtspconnection.c index 0c1f22b990..c26c960a26 100644 --- a/gst-libs/gst/rtsp/gstrtspconnection.c +++ b/gst-libs/gst/rtsp/gstrtspconnection.c @@ -2269,7 +2269,9 @@ gst_rtsp_connection_receive (GstRTSPConnection * conn, GstRTSPMessage * message, if (gst_poll_fd_has_error (conn->fdset, conn->writefd)) goto socket_error; - gst_poll_set_controllable (conn->fdset, FALSE); + /* once we start reading the wait cannot be controlled */ + if (builder.state != STATE START) + gst_poll_set_controllable (conn->fdset, FALSE); } /* we have a message here */