[gst-cvs] gst-plugins-good: avidemux: Use the first entry for a given stream if the first entry is after the seek position
Sebastian Dröge
slomo at kemper.freedesktop.org
Mon May 11 09:16:05 PDT 2009
Module: gst-plugins-good
Branch: master
Commit: a62ed3b153f13cdf24ffa511c8600394dbf94247
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=a62ed3b153f13cdf24ffa511c8600394dbf94247
Author: Sebastian Dröge <sebastian.droege at collabora.co.uk>
Date: Mon May 11 18:15:22 2009 +0200
avidemux: Use the first entry for a given stream if the first entry is after the seek position
---
gst/avi/gstavidemux.c | 17 +++++++++++++----
1 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c
index 7f17f25..6c81ee1 100644
--- a/gst/avi/gstavidemux.c
+++ b/gst/avi/gstavidemux.c
@@ -362,10 +362,19 @@ gst_avi_demux_index_entry_for_time (GstAviDemux * avi,
(GCompareDataFunc) gst_avi_demux_index_entry_search,
GST_SEARCH_MODE_BEFORE, &time, NULL);
- n = (entry - avi->index_entries) / sizeof (gst_avi_index_entry);
- while (entry->stream_nr != stream_nr && n > 0) {
- n--;
- entry = &avi->index_entries[n];
+ if (entry == NULL) {
+ entry = &avi->index_entries[0];
+ n = 0;
+ while (entry->stream_nr != stream_nr && n < avi->index_size - 1) {
+ n++;
+ entry = &avi->index_entries[n];
+ }
+ } else if (entry->stream_nr != stream_nr) {
+ n = (entry - avi->index_entries) / sizeof (gst_avi_index_entry);
+ while (entry->stream_nr != stream_nr && n > 0) {
+ n--;
+ entry = &avi->index_entries[n];
+ }
}
GST_LOG_OBJECT (avi,
More information about the Gstreamer-commits
mailing list