Module: libav Branch: release/11 Commit: c0e80806dd9310f736f24f79534a7be3befb55e2
Author: Martin Storsjö <[email protected]> Committer: Luca Barbato <[email protected]> Date: Wed Oct 21 11:56:36 2015 +0300 rtsp: Allow $ as interleaved packet indicator before a complete response header Some RTSP servers ("HiIpcam/V100R003 VodServer/1.0.0") respond to our keepalive GET_PARAMETER request by a truncated RTSP header (lacking the final empty line to indicate a complete response header). Prior to 764ec70149, this worked just fine since we reacted to the $ as interleaved packet indicator anywhere. Since $ is a valid character within the response header lines, 764ec70149 changed it to be ignored there. But to keep compatibility with such broken servers, we need to at least allow reacting to it at the start of lines. Signed-off-by: Martin Storsjö <[email protected]> --- libavformat/rtsp.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index 5bad163..b69bec2 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -1083,7 +1083,6 @@ int ff_rtsp_read_reply(AVFormatContext *s, RTSPMessageHeader *reply, unsigned char ch; const char *p; int ret, content_length, line_count = 0, request = 0; - int first_line = 1; unsigned char *content = NULL; start: @@ -1103,7 +1102,7 @@ start: return AVERROR_EOF; if (ch == '\n') break; - if (ch == '$' && first_line && q == buf) { + if (ch == '$' && q == buf) { if (return_on_interleaved_data) { return 1; } else @@ -1114,7 +1113,6 @@ start: } } *q = '\0'; - first_line = 0; av_dlog(s, "line='%s'\n", buf); _______________________________________________ libav-commits mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-commits
