diff options
author | Thomas Vander Stichele <thomas@apestaart.org> | 2006-02-07 18:01:17 +0000 |
---|---|---|
committer | Thomas Vander Stichele <thomas@apestaart.org> | 2006-02-07 18:01:17 +0000 |
commit | 577775354d2b24d2463232cb9c1b2f6b57e864d5 (patch) | |
tree | fb4131130db95b6180b850e0a35f3a5e1b9eda39 | |
parent | 54a95b0f9f16506dc11af9e4db9e7a593e9be272 (diff) | |
download | gst-plugins-bad-577775354d2b24d2463232cb9c1b2f6b57e864d5.tar.gz gst-plugins-bad-577775354d2b24d2463232cb9c1b2f6b57e864d5.tar.bz2 gst-plugins-bad-577775354d2b24d2463232cb9c1b2f6b57e864d5.zip |
gst/qtdemux/qtdemux.c: use the correct variable to check if we can calculate the last chunk. Looks like an obvious b...
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse_trak):
use the correct variable to check if we can calculate
the last chunk. Looks like an obvious bug, and makes
the dump of offsets comparable to other tools
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | gst/qtdemux/qtdemux.c | 9 |
2 files changed, 14 insertions, 3 deletions
@@ -2,6 +2,14 @@ * gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header), (qtdemux_parse_trak): + use the correct variable to check if we can calculate + the last chunk. Looks like an obvious bug, and makes + the dump of offsets comparable to other tools + +2006-02-07 Thomas Vander Stichele <thomas at apestaart dot org> + + * gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header), + (qtdemux_parse_trak): clean up some debugging, using _OBJECT, moving recurring messages to LOG level diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c index af829ef6..a0e865ff 100644 --- a/gst/qtdemux/qtdemux.c +++ b/gst/qtdemux/qtdemux.c @@ -2357,7 +2357,10 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak) int samples_per_chunk; first_chunk = QTDEMUX_GUINT32_GET (stsc->data + 16 + i * 12 + 0) - 1; - if (i == n_samples - 1) { + /* the last chunk of each entry is calculated by taking the first chunk + * of the next entry; except if there is no next, where we fake it with + * INT_MAX */ + if (i == n_samples_per_chunk - 1) { last_chunk = INT_MAX; } else { last_chunk = QTDEMUX_GUINT32_GET (stsc->data + 16 + i * 12 + 12) - 1; @@ -2365,8 +2368,8 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak) samples_per_chunk = QTDEMUX_GUINT32_GET (stsc->data + 16 + i * 12 + 4); GST_LOG_OBJECT (qtdemux, - "sample %d has first_chunk %d, last_chunk %d, samples_per_chunk %d", - i, first_chunk, last_chunk, samples_per_chunk); + "entry %d has first_chunk %d, last_chunk %d, samples_per_chunk %d", i, + first_chunk, last_chunk, samples_per_chunk); for (j = first_chunk; j < last_chunk; j++) { guint64 chunk_offset; |