rtsp: only break on parse_rtsp_message on error
authorTristan Matthews <tmatth@videolan.org>
Wed, 29 Nov 2017 19:16:02 +0000 (14:16 -0500)
committerLuca Barbato <lu_zero@gentoo.org>
Thu, 30 Nov 2017 14:32:04 +0000 (15:32 +0100)
Fix suggested by Luca Barbato.

This was causing spurious EOFs when using -rtsp_transport udp, as
reported in https://bugzilla.libav.org/show_bug.cgi?id=1103

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
libavformat/rtsp.c

index 17a25a3..8bf9d9e 100644 (file)
@@ -1998,7 +1998,9 @@ static int udp_read_packet(AVFormatContext *s, RTSPStream **prtsp_st,
             }
 #if CONFIG_RTSP_DEMUXER
             if (rt->rtsp_hd && p[0].revents & POLLIN) {
-                return parse_rtsp_message(s);
+                if ((ret = parse_rtsp_message(s)) < 0) {
+                    return ret;
+                }
             }
 #endif
         } else if (n == 0 && ++timeout_cnt >= MAX_TIMEOUTS) {