From f86aee2eed4f1ed8d833e1e3f30a51dfbc65028f Mon Sep 17 00:00:00 2001 From: Thibault Saunier <tsaunier@igalia.com> Date: Mon, 25 May 2020 20:11:31 -0400 Subject: [PATCH] rtspsrc: Error out when failling to receive message response And let it rety twice. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/717 --- gst/rtsp/gstrtspsrc.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index f97f0a9853..a2d258fc98 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -6476,6 +6476,10 @@ again: goto again; } } + + if (res < 0) + goto receive_error; + gst_rtsp_ext_list_after_send (src->extensions, request, response); return res; @@ -6493,6 +6497,20 @@ send_error: g_free (str); return res; } + +receive_error: + { + gchar *str = gst_rtsp_strresult (res); + + if (res != GST_RTSP_EINTR) { + GST_ELEMENT_ERROR (src, RESOURCE, READ, (NULL), + ("Could not receive message. (%s)", str)); + } else { + GST_WARNING_OBJECT (src, "receive interrupted"); + } + g_free (str); + return res; + } } /** -- GitLab