From: Fabrice Bellard Date: Wed, 20 Nov 2002 14:54:13 +0000 (+0000) Subject: match SDP based on content instead of extension X-Git-Tag: v0.5~17000 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=cb1fdc61047f1c25b7fd4e7113ba20ebfced1d2f;p=coroid%2Flibav_saccubus.git match SDP based on content instead of extension Originally committed as revision 1255 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libav/rtsp.c b/libav/rtsp.c index ba87469d6..c173cb89b 100644 --- a/libav/rtsp.c +++ b/libav/rtsp.c @@ -984,12 +984,22 @@ static AVInputFormat rtsp_demux = { .flags = AVFMT_NOFILE, }; - -/* XXX: add mime type support */ -static int sdp_probe(AVProbeData *p) +static int sdp_probe(AVProbeData *p1) { - if (match_ext(p->filename, "sdp")) - return AVPROBE_SCORE_MAX; + const char *p; + + /* we look for a line beginning "c=IN IP4" */ + p = p1->buf; + while (*p != '\0') { + if (strstart(p, "c=IN IP4", NULL)) + return AVPROBE_SCORE_MAX / 2; + p = strchr(p, '\n'); + if (!p) + break; + p++; + if (*p == '\r') + p++; + } return 0; }