mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
gst/avi/gstavidemux.c: Add some more debug. Fix logic error when setting movi offset while reading index.
Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_stream_index), (gst_avi_demux_stream_scan): Add some more debug. Fix logic error when setting movi offset while reading index.
This commit is contained in:
parent
f0def31bea
commit
889e28ef62
2 changed files with 14 additions and 4 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2004-12-23 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
||||||
|
|
||||||
|
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
|
||||||
|
(gst_avi_demux_stream_scan):
|
||||||
|
Add some more debug. Fix logic error when setting movi offset
|
||||||
|
while reading index.
|
||||||
|
|
||||||
2004-12-23 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
2004-12-23 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
||||||
|
|
||||||
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
|
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
|
||||||
|
|
|
@ -1191,6 +1191,7 @@ gst_avi_demux_stream_index (GstAviDemux * avi,
|
||||||
guint32 tag;
|
guint32 tag;
|
||||||
guint index_size;
|
guint index_size;
|
||||||
gst_avi_index_entry *index_entries = NULL;
|
gst_avi_index_entry *index_entries = NULL;
|
||||||
|
gboolean first = TRUE;
|
||||||
|
|
||||||
/* first, we need to know the current position (to seek back
|
/* first, we need to know the current position (to seek back
|
||||||
* when we're done) and the total length of the file. */
|
* when we're done) and the total length of the file. */
|
||||||
|
@ -1277,11 +1278,12 @@ gst_avi_demux_stream_index (GstAviDemux * avi,
|
||||||
target->offset = entry.offset + 8;
|
target->offset = entry.offset + 8;
|
||||||
|
|
||||||
/* figure out if the index is 0 based or relative to the MOVI start */
|
/* figure out if the index is 0 based or relative to the MOVI start */
|
||||||
if (i == 0) {
|
if (first) {
|
||||||
if (target->offset < pos_before)
|
if (target->offset < pos_before)
|
||||||
avi->index_offset = pos_before + 8;
|
avi->index_offset = pos_before + 8;
|
||||||
else
|
else
|
||||||
avi->index_offset = 0;
|
avi->index_offset = 0;
|
||||||
|
first = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
target->bytes_before = stream->total_bytes;
|
target->bytes_before = stream->total_bytes;
|
||||||
|
@ -1587,9 +1589,10 @@ gst_avi_demux_stream_scan (GstAviDemux * avi,
|
||||||
stream->total_frames++;
|
stream->total_frames++;
|
||||||
|
|
||||||
list = g_list_prepend (list, entry);
|
list = g_list_prepend (list, entry);
|
||||||
GST_DEBUG ("Added index entry %d (in stream: %d), time %"
|
GST_DEBUG ("Added index entry %d (in stream: %d), offset %"
|
||||||
GST_TIME_FORMAT " for stream %d", index_size - 1,
|
G_GUINT64_FORMAT ", time %" GST_TIME_FORMAT " for stream %d",
|
||||||
entry->frames_before, GST_TIME_ARGS (entry->ts), entry->stream_nr);
|
index_size - 1, entry->frames_before, entry->offset,
|
||||||
|
GST_TIME_ARGS (entry->ts), entry->stream_nr);
|
||||||
|
|
||||||
next:
|
next:
|
||||||
if (!gst_avi_demux_skip (avi, TRUE))
|
if (!gst_avi_demux_skip (avi, TRUE))
|
||||||
|
|
Loading…
Reference in a new issue