gstreamer/ext
Edward Hervey c86df789ed oggdemux: Drop data before new segment
When calculating duration in push-mode we seek to a certain position
and discard any data until we get data from that requested position.

The problem is that basing ourselves solely on offset to determine
whether we reached the target offset is wrong since the source might
be fast enough  to send us that target position *before* it processed
the requested seek.

This would end up in a situation where:
* We think we're done with duration estimate
* We fire a seek back to "0" in the loop thread
* We resume normal processing
* ... except that we're still getting data from too far ahead which
  we decide to process.
* And we start doing totally wrong granule/time/duration calculation
  and pushing wrong data.

Instead of this confusion, wait until we receive data from the requested
seek. We do that by using the fact that the seqnum in
seek_event_drop_til will be non-zero until the SEGMENT corresponding
to the requested SEEK has been received.

Bonus: makes startup slightly faster
2017-11-07 15:16:52 +01:00
..
alsa alsasink: Fix Memory leak in payload not succuss case 2017-09-26 11:18:09 +03:00
cdparanoia Remove plugin specific static build option 2017-05-16 13:42:07 -04:00
libvisual meson: use dep.get_pkgconfig_variable() 2017-06-05 23:57:48 +01:00
ogg oggdemux: Drop data before new segment 2017-11-07 15:16:52 +01:00
opus opusenc: Allow unpositioned channels. 2017-10-11 19:42:39 +02:00
pango textoverlay: ensure text buffer has writable metadata when modifying 2017-07-01 17:45:36 +02:00
theora Remove plugin specific static build option 2017-05-16 13:42:07 -04:00
vorbis Remove plugin specific static build option 2017-05-16 13:42:07 -04:00
Makefile.am opus: move Opus audio decoder and encoder from -bad to -base 2016-02-26 00:20:10 +00:00
meson.build Add support for Meson as alternative/parallel build system 2016-08-20 11:09:51 +01:00