summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--gst/avi/gstavidemux.c4
2 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 51f2aec4..7a8b1978 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2005-08-09 Tim-Philipp Müller <tim at centricular dot net>
+ * 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 <tim at centricular dot net>
+
* ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_init),
(gst_jpeg_dec_setcaps), (gst_jpeg_dec_chain),
(gst_jpeg_dec_change_state):
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c
index fcf28c34..40ad6f8a 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;