done2:
n_sample_times = QT_UINT32 (stts_data + 12);
- GST_LOG_OBJECT (qtdemux, "%u timestamp blocks", n_sample_times);
timestamp = 0;
stream->min_duration = 0;
time = 0;
stts_data += 4;
duration = QT_UINT32 (stts_data);
stts_data += 4;
- GST_LOG_OBJECT (qtdemux, "block %d, %u timestamps, duration %u ", i, n,
- duration);
/* take first duration for fps */
if (G_UNLIKELY (stream->min_duration == 0))
stream->min_duration = duration;
for (j = 0; j < n; j++) {
- GST_DEBUG_OBJECT (qtdemux,
- "sample %d: index %d, timestamp %" GST_TIME_FORMAT, index, j,
- GST_TIME_ARGS (timestamp));
+ GST_DEBUG_OBJECT (qtdemux, "sample %d: timestamp %" GST_TIME_FORMAT,
+ index, GST_TIME_ARGS (timestamp));
samples[index].timestamp = timestamp;
/* add non-scaled values to avoid rounding errors */
goto done3;
}
}
- /* fill up empty timestamps with the last timestamp, this can happen when
- * the last samples do not decoder and so we don't have timestamps for them.
- * We however look at the last timestamp to estimate the track length so we
- * need something in here. */
- for (; index < n_samples; index++) {
- GST_DEBUG_OBJECT (qtdemux, "fill sample %d: timestamp %" GST_TIME_FORMAT,
- index, GST_TIME_ARGS (timestamp));
- samples[index].timestamp = timestamp;
- samples[index].duration = -1;
- }
done3:
/* sample sync, can be NULL */
stream->segments[0].media_stop = stream_duration;
stream->segments[0].rate = 1.0;
- GST_DEBUG_OBJECT (qtdemux, "created dummy segment %" GST_TIME_FORMAT,
- GST_TIME_ARGS (stream_duration));
+ GST_DEBUG_OBJECT (qtdemux, "created dummy segment");
stream->n_segments = 1;
}
GST_DEBUG_OBJECT (qtdemux, "using %d segments", stream->n_segments);