diff options
author | Thibaut Mattern <tmattern@users.sourceforge.net> | 2006-01-05 21:34:55 +0000 |
---|---|---|
committer | Thibaut Mattern <tmattern@users.sourceforge.net> | 2006-01-05 21:34:55 +0000 |
commit | eebe40e45c021ad8eac59277e63baa1d24a01c02 (patch) | |
tree | a774d1aaa4e8fe7cc11a39c1ffa2832b06c20ad5 | |
parent | feb563384bc37729b57086bbf6cc1170f1e63eae (diff) | |
download | xine-lib-eebe40e45c021ad8eac59277e63baa1d24a01c02.tar.gz xine-lib-eebe40e45c021ad8eac59277e63baa1d24a01c02.tar.bz2 |
Don't stop when an empty chunk is encountered.
CVS patchset: 7830
CVS date: 2006/01/05 21:34:55
-rw-r--r-- | src/demuxers/demux_avi.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/demuxers/demux_avi.c b/src/demuxers/demux_avi.c index 4cf6c5b31..4f8f01e30 100644 --- a/src/demuxers/demux_avi.c +++ b/src/demuxers/demux_avi.c @@ -19,7 +19,7 @@ */ /* - * $Id: demux_avi.c,v 1.221 2005/11/28 12:24:57 valtri Exp $ + * $Id: demux_avi.c,v 1.222 2006/01/05 21:34:55 tmattern Exp $ * * demultiplexer for avi streams * @@ -782,15 +782,10 @@ static avi_t *AVI_init(demux_avi_t *this) { n = PAD_EVEN(n); next_chunk = this->idx_grow.nexttagoffset + 8 + n; - if (n == 0) { - xprintf(this->stream->xine, XINE_VERBOSITY_LOG, "invalid chunk length (0 byte)\n"); - break; - } - lprintf("chunk: %c%c%c%c, size: %" PRId64 "\n", data[0], data[1], data[2], data[3], (int64_t)n); - if(strncasecmp(data,"LIST",4) == 0) { + if((strncasecmp(data,"LIST",4) == 0) && (n >= 4)) { if( this->input->read(this->input, data,4) != 4 ) ERR_EXIT(AVI_ERR_READ); n -= 4; |