GNOME Bugzilla – Bug 337945
[oggdemux] segment stop position ignored
Last modified: 2006-04-11 14:57:22 UTC
Segment seeking in oggdemux is currently flawed. When seeking from a to b with GST_SEEK_FLAG_SEGMENT, oggdemux will send out the proper newsegment, will start outputing data from a (or slightly before), but will carry on outputing data until the end of the file, when it will emit GST_MESSAGE_SEGMENT_DONE (with total duration as position). Expected result: oggdemux should stop outputing once it has emitted the last packet after stop position and post GST_MESSAGE_SEGMENT_DONE with the saved segment-stop position.
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query), (gst_ogg_demux_chain_peer), (gst_ogg_pad_submit_packet), (gst_ogg_chain_free), (gst_ogg_demux_sink_event), (gst_ogg_demux_loop): More cleanups. Respect segment stop when emiting EOS or SEGMENT_DONE. Fixes (#337945).