oggdemux: add non flushing time seeking in push mode
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Fri, 31 Oct 2014 10:55:14 +0000 (10:55 +0000)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Wed, 11 Mar 2015 12:04:23 +0000 (12:04 +0000)
commit969cf47a82823d71f53bb576048e5d228926c783
tree12cd9b0a9f582f4e609d8b53fed6ac75dab30c7f
parentca136e3648d13fd81c54dc0fe7f5d018018a379d
oggdemux: add non flushing time seeking in push mode

Some resetting code has to be done in the NEW_SEGMENT
event handler, instead of the missing FLUSH_STOP one.

Segment base was also wrongly accounted for. This was hidden
by the fact that flushing resets the base.

A discontinuity is now also signalled on seeking. We have to
also ensure that the discontinuity "sticks" till a buffer
with a valid timestamp goes out, or the audio decoder base
class will ignore the discontinuity for purposes of keeping
track of the current time.

This allows using non flushing segment seeks for looping
HTML audio in particular, and more generally non flushing seeks.

https://bugzilla.gnome.org/show_bug.cgi?id=729198
ext/ogg/gstoggdemux.c