When performing seek, segment->start is being updated with desired_offset,
but in case of reverse playback segment->start should be 0 and
segment->stop should be updated with desired offset.
https://bugzilla.gnome.org/show_bug.cgi?id=750675
}
segment->position = desired_offset;
segment->time = desired_offset;
- segment->start = desired_offset;
+ if (segment->rate >= 0) {
+ segment->start = desired_offset;
- /* we stop at the end */
- if (segment->stop == -1)
- segment->stop = segment->duration;
+ /* we stop at the end */
+ if (segment->stop == -1)
+ segment->stop = segment->duration;
+ } else {
+ segment->stop = desired_offset;
+ }
if (qtdemux->fragmented)
qtdemux->fragmented_seek_pending = TRUE;