From 305cbfe923fa599ac8e8fa8ed44f2512e706486d Mon Sep 17 00:00:00 2001 From: arpi Date: Mon, 5 Aug 2002 18:22:51 +0000 Subject: allow early exit from esds parsing, so decoder info (type & bitrate) are available even if no codec-specific data or other extras found git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6930 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/parse_mp4.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libmpdemux/parse_mp4.c b/libmpdemux/parse_mp4.c index b1fe69a49d..cccf2ee2c5 100644 --- a/libmpdemux/parse_mp4.c +++ b/libmpdemux/parse_mp4.c @@ -102,13 +102,15 @@ int mp4_parse_esds(unsigned char *data, int datalen, esds_t *esds) { esds->bufferSizeDB, esds->maxBitrate/1000.0, esds->avgBitrate/1000.0); + esds->decoderConfigLen=0; + if (len < 15) { - freereturn(s,1); + freereturn(s,0); } /* get and verify DecSpecificInfoTag */ if (stream_read_char(s) != MP4DecSpecificDescrTag) { - freereturn(s,1); + freereturn(s,0); } /* read length */ @@ -125,7 +127,7 @@ int mp4_parse_esds(unsigned char *data, int datalen, esds_t *esds) { /* get and verify SLConfigDescrTag */ if(stream_read_char(s) != MP4SLConfigDescrTag) { - freereturn(s,1); + freereturn(s,0); } /* Note: SLConfig is usually constant value 2, size 1Byte */ -- cgit v1.2.3