oggdemux: don't set segment.base in pad_submit_packet()

Setting segment.base in the segment sent from gst_ogg_demux_handle_page() is
enough to ensure that chained oggs are played corretly (see bgo#706569).

Tweaking the base in gst_ogg_pad_submit_packet() as well result in delays when
playing a file with start != -1.

https://bugzilla.gnome.org/show_bug.cgi?id=735808
This commit is contained in:
Guillaume Desmottes 2014-09-01 15:06:51 +02:00 committed by Sebastian Dröge
parent e783a366cb
commit be1b5b3de7

View file

@ -1055,7 +1055,6 @@ gst_ogg_pad_submit_packet (GstOggPad * pad, ogg_packet * packet)
segment.start = ogg->push_seek_time_original_target;
segment.stop = ogg->push_seek_time_original_stop;
segment.time = ogg->push_seek_time_original_target;
segment.base = ogg->push_seek_time_original_target;
event = gst_event_new_segment (&segment);
gst_event_set_seqnum (event, ogg->push_seek_seqnum);
ogg->push_state = PUSH_PLAYING;
@ -1065,7 +1064,6 @@ gst_ogg_pad_submit_packet (GstOggPad * pad, ogg_packet * packet)
segment.start = start_time;
segment.stop = chain->segment_stop;
segment.time = segment_time;
segment.base = segment_time;
event = gst_event_new_segment (&segment);
}
GST_PUSH_UNLOCK (ogg);
@ -1092,7 +1090,6 @@ gst_ogg_pad_submit_packet (GstOggPad * pad, ogg_packet * packet)
segment.start = chain->segment_start;
segment.stop = chain->segment_stop;
segment.time = chain->begin_time;
segment.base = chain->begin_time;
event = gst_event_new_segment (&segment);
}
}