}
segment->position = desired_offset;
segment->time = desired_offset;
- qtdemux->segment_base = desired_offset;
/* we stop at the end */
if (segment->stop == -1)
qtdemux->offset = 0;
gst_adapter_clear (qtdemux->adapter);
gst_segment_init (&qtdemux->segment, GST_FORMAT_TIME);
- qtdemux->segment_base = 0;
if (hard) {
for (n = 0; n < qtdemux->n_streams; n++) {
if (G_UNLIKELY (QTSEGMENT_IS_EMPTY (segment))) {
start = segment->time + seg_time;
time = offset;
+ stop = start - seg_time + segment->duration;
} else if (qtdemux->segment.rate >= 0) {
start = MIN (segment->media_start + seg_time, stop);
time = offset;
stream->segment.stop = stop;
stream->segment.time = time;
stream->segment.position = start;
- stream->segment.base =
- segment->time >
- qtdemux->segment_base ? segment->time - qtdemux->segment_base : 0;
/* now prepare and send the segment */
if (stream->pad) {
gint64 seek_offset;
gint64 push_seek_start;
gint64 push_seek_stop;
- guint64 segment_base; /* The offset from which playback was started, needs to
- * be subtracted from GstSegment.base to get a correct
- * running time whenever a new QtSegment is activated */
#if 0
/* gst index support */