mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 01:00:37 +00:00
oggdemux: sparse streams aren't timed by end time, and their duration isn't implicit
Fixes timestamps and durations on Kate subtitle streams. See http://www.xiph.org/ogg/doc/ogg-multiplex.html section 'start-time and end-time positioning' for some more details, and bug #600929.
This commit is contained in:
parent
25873a050f
commit
ed2e09133e
1 changed files with 4 additions and 0 deletions
|
@ -591,6 +591,10 @@ gst_ogg_demux_chain_peer (GstOggPad * pad, ogg_packet * packet,
|
|||
pad->current_granule);
|
||||
out_duration = gst_util_uint64_scale (duration,
|
||||
GST_SECOND * pad->map.granulerate_d, pad->map.granulerate_n);
|
||||
} else if (pad->is_sparse) {
|
||||
out_timestamp = gst_ogg_stream_granule_to_time (&pad->map,
|
||||
pad->current_granule);
|
||||
out_duration = GST_CLOCK_TIME_NONE;
|
||||
} else {
|
||||
out_timestamp = gst_ogg_stream_granule_to_time (&pad->map,
|
||||
pad->current_granule - duration);
|
||||
|
|
Loading…
Reference in a new issue