summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--gst/avi/gstavidemux.c2
2 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 2991b51a..0973ad8a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-06-13 Tim-Philipp Müller <tim at centricular dot net>
+
+ * gst/avi/gstavidemux.c: (gst_avi_demux_handle_seek):
+ Prevent out of bounds array access when scrubbing towards
+ the end of the file between the last index entry and the
+ end. Fixes occasional 'start <= stop' newsegment event
+ assertions when scrubbing in MJPEG files.
+
2006-06-12 Tim-Philipp Müller <tim at centricular dot net>
* tests/check/elements/.cvsignore:
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c
index 5d26eac9..392ce79d 100644
--- a/gst/avi/gstavidemux.c
+++ b/gst/avi/gstavidemux.c
@@ -2372,6 +2372,8 @@ gst_avi_demux_handle_seek (GstAviDemux * avi, gboolean update)
GST_WARNING_OBJECT (avi,
"Couldn't find AviIndexEntry for time:%" GST_TIME_FORMAT,
GST_TIME_ARGS (avi->segment.start));
+ if (avi->current_entry >= avi->index_size && avi->index_size > 0)
+ avi->current_entry = avi->index_size - 1;
}
}