Commit 5942bd0c authored by mstorsjo's avatar mstorsjo

RTSP: Shrink SDP fmtp parsing buffer size

Since the parsing of Vorbis/Theora fmtp headers is handled by the
parse_sdp_a_line function pointer now, the buffer in sdp_parse_fmtp
doesn't need to be this large any longer.

Patch by Josh Allmann, joshua dot allmann at gmail


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@23599 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 583923e1
...@@ -273,9 +273,7 @@ int ff_rtsp_next_attr_and_value(const char **p, char *attr, int attr_size, ...@@ -273,9 +273,7 @@ int ff_rtsp_next_attr_and_value(const char **p, char *attr, int attr_size,
static void sdp_parse_fmtp(AVStream *st, const char *p) static void sdp_parse_fmtp(AVStream *st, const char *p)
{ {
char attr[256]; char attr[256];
/* Vorbis setup headers can be up to 12KB and are sent base64 char value[4096];
* encoded, giving a 12KB * (4/3) = 16KB FMTP line. */
char value[16384];
int i; int i;
RTSPStream *rtsp_st = st->priv_data; RTSPStream *rtsp_st = st->priv_data;
AVCodecContext *codec = st->codec; AVCodecContext *codec = st->codec;
...@@ -541,7 +539,8 @@ static int sdp_parse(AVFormatContext *s, const char *content) ...@@ -541,7 +539,8 @@ static int sdp_parse(AVFormatContext *s, const char *content)
* "rulebooks" describing their properties. Therefore, the SDP line * "rulebooks" describing their properties. Therefore, the SDP line
* buffer is large. * buffer is large.
* *
* The Vorbis FMTP line can be up to 16KB - see sdp_parse_fmtp. */ * The Vorbis FMTP line can be up to 16KB - see xiph_parse_sdp_line
* in rtpdec_xiph.c. */
char buf[16384], *q; char buf[16384], *q;
SDPParseState sdp_parse_state, *s1 = &sdp_parse_state; SDPParseState sdp_parse_state, *s1 = &sdp_parse_state;
......
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