Hi, On Thu, May 27, 2010 at 2:58 AM, Martin Storsjö <[email protected]> wrote: > On Wed, 26 May 2010, Josh Allmann wrote: >> The following reverts changes made in r18508 and shrinks the sdp >> buffer in rtsp.c. I only do this because 16k on the stack is a lot. >> >> This cleans up the last remnants of Vorbis in rtsp.c -- its sdp/fmtp >> processing is now done in rtpdec_xiph.c, so this codepath is not >> touched by Vorbis over RTP anymore except in the case of an error in >> parsing sdp/fmtp. Even then, it should still fall-through rather >> cleanly. > > Did you test it? > >> Index: libavformat/rtsp.c >> =================================================================== >> --- libavformat/rtsp.c (revision 23344) >> +++ libavformat/rtsp.c (working copy) >> @@ -271,9 +271,7 @@ >> static void sdp_parse_fmtp(AVStream *st, const char *p) >> { >> char attr[256]; >> - /* Vorbis setup headers can be up to 12KB and are sent base64 >> - * encoded, giving a 12KB * (4/3) = 16KB FMTP line. */ >> - char value[16384]; >> + char value[4096]; >> int i; >> RTSPStream *rtsp_st = st->priv_data; >> AVCodecContext *codec = st->codec; > > This should be ok. > >> @@ -537,10 +535,8 @@ >> * contain long SDP lines containing complete ASF Headers (several >> * kB) or arrays of MDPR (RM stream descriptor) headers plus >> * "rulebooks" describing their properties. Therefore, the SDP line >> - * buffer is large. >> - * >> - * The Vorbis FMTP line can be up to 16KB - see sdp_parse_fmtp. */ >> - char buf[16384], *q; >> + * buffer is large. */ >> + char buf[8192], *q; >> SDPParseState sdp_parse_state, *s1 = &sdp_parse_state; >> >> memset(s1, 0, sizeof(SDPParseState)); > > You can't shrink this one, since this codepath still is run for all cases, > even if the RTP depacketizer handles the parsing of fmtp lines itself. > sdp_parse() calls sdp_parse_line(), which then either calls > rtsp_st->dynamic_handler->parse_sdp_a_line() or sdp_parse_fmtp(). But the > comment referring to sdp_parse_fmtp for vorbis should perhaps be updated.
We should just revert this patch: http://github.com/yuvi/ffmpeg/commit/6ed54534d4f930cb430539f9b9f0f3caa192ebcb (sorry, websvn doesn't work so can't give a direct link.) Ronald _______________________________________________ FFmpeg-soc mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc
