qtdemux: simplify segment.base math

Remove a fix for heavily edited files added for fixing
https://bugzilla.gnome.org/show_bug.cgi?id=345830 to work
with seeks and proper gaps playback. The fix was replaced
for a more general solution that bases on using previous
segment's duration, just like it works for media segments
playback.

https://bugzilla.gnome.org/show_bug.cgi?id=743518
This commit is contained in:
Thiago Santos 2015-01-28 14:02:15 -03:00
parent 5ff1229754
commit 9a9d4eccea
2 changed files with 1 additions and 8 deletions

View file

@ -1425,7 +1425,6 @@ gst_qtdemux_perform_seek (GstQTDemux * qtdemux, GstSegment * segment,
}
segment->position = desired_offset;
segment->time = desired_offset;
qtdemux->segment_base = desired_offset;
/* we stop at the end */
if (segment->stop == -1)
@ -1874,7 +1873,6 @@ gst_qtdemux_reset (GstQTDemux * qtdemux, gboolean hard)
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++) {
@ -3640,6 +3638,7 @@ gst_qtdemux_activate_segment (GstQTDemux * qtdemux, QtDemuxStream * stream,
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;
@ -3674,9 +3673,6 @@ gst_qtdemux_activate_segment (GstQTDemux * qtdemux, QtDemuxStream * stream,
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) {

View file

@ -123,9 +123,6 @@ struct _GstQTDemux {
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 */