diff --git a/ChangeLog b/ChangeLog index 51f2aec489..7a8b197838 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2005-08-09 Tim-Philipp Müller + + * gst/avi/gstavidemux.c: (gst_avi_demux_stream_header): + Fix AVI header parsing: add missing break statement after + GST_RIFF_INFO_LIST parsing code; gst_riff_read_chunk() has + already advanced the avi->offset, no need to do it twice + (fixes MovieOfMovies.avi). + 2005-08-09 Tim-Philipp Müller * ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_init), diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c index fcf28c3447..40ad6f8a99 100644 --- a/gst/avi/gstavidemux.c +++ b/gst/avi/gstavidemux.c @@ -1848,6 +1848,8 @@ gst_avi_demux_stream_header (GstAviDemux * avi) avi->avih->streams, avi->num_streams); } + GST_DEBUG_OBJECT (avi, "skipping junk between header and data ..."); + /* Now, find the data (i.e. skip all junk between header and data) */ do { guint size; @@ -1881,6 +1883,8 @@ gst_avi_demux_stream_header (GstAviDemux * avi) gst_tag_list_free (t); gst_buffer_unref (buf); } + /* gst_riff_read_chunk() has already advanced avi->offset */ + break; default: avi->offset += 8 + ((size + 1) & ~1); break;