diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index f2ca49e595..09c42c7042 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -6325,7 +6325,10 @@ gst_rtsp_src_receive_response (GstRTSPSrc * src, GstRTSPConnInfo * conninfo, { GstRTSPStatusCode thecode; gchar *content_base = NULL; - GstRTSPResult res = gst_rtspsrc_connection_receive (src, conninfo, response, + GstRTSPResult res; + +next: + res = gst_rtspsrc_connection_receive (src, conninfo, response, src->tcp_timeout); if (res < 0) @@ -6342,7 +6345,7 @@ gst_rtsp_src_receive_response (GstRTSPSrc * src, GstRTSPConnInfo * conninfo, goto handle_request_failed; /* Not a response, receive next message */ - return gst_rtsp_src_receive_response (src, conninfo, response, code); + goto next; case GST_RTSP_MESSAGE_RESPONSE: /* ok, a response is good */ GST_DEBUG_OBJECT (src, "received response message"); @@ -6353,13 +6356,13 @@ gst_rtsp_src_receive_response (GstRTSPSrc * src, GstRTSPConnInfo * conninfo, gst_rtspsrc_handle_data (src, response); /* Not a response, receive next message */ - return gst_rtsp_src_receive_response (src, conninfo, response, code); + goto next; default: GST_WARNING_OBJECT (src, "ignoring unknown message type %d", response->type); /* Not a response, receive next message */ - return gst_rtsp_src_receive_response (src, conninfo, response, code); + goto next; } thecode = response->type_data.response.code;