Commit 764ec701 authored by Martin Storsjö's avatar Martin Storsjö

rtsp: Only interpret $ as interleaved packet indicator at the start of replies

Allow $ as character anywhere within normal RTSP replies - both
within the lines, and as the first character of RTSP header lines.
(The existing old comment indicated that an inline packet could
start at any line within a RTSP reply header, but that doesn't
sound valid to me, and I'm not sure if the existing code
handled that correctly either.)

CC: libav-stable@libav.org
Signed-off-by: 's avatarMartin Storsjö <martin@martin.st>
parent 6877537f
......@@ -1128,6 +1128,7 @@ 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:
......@@ -1147,8 +1148,7 @@ start:
return AVERROR_EOF;
if (ch == '\n')
break;
if (ch == '$') {
/* XXX: only parse it if first char on line ? */
if (ch == '$' && first_line && q == buf) {
if (return_on_interleaved_data) {
return 1;
} else
......@@ -1159,6 +1159,7 @@ start:
}
}
*q = '\0';
first_line = 0;
av_log(s, AV_LOG_TRACE, "line='%s'\n", buf);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment