GNOME Bugzilla – Bug 353234
audiorate preserves DISCONT on buffers
Last modified: 2006-08-28 16:09:20 UTC
Audiorate may receive buffers with DISCONT set. Much of the point of audiorate is to preserve a 'perfect' stream with no discontinuities - so in this case, it should clear the DISCONT flag before pushing the buffer. This is causing vorbisenc's discont detection to trigger.
This should fix it: * gst/audiorate/gstaudiorate.c: (gst_audio_rate_reset), (gst_audio_rate_setcaps), (gst_audio_rate_init), (gst_audio_rate_sink_event), (gst_audio_rate_src_event), (gst_audio_rate_chain), (gst_audio_rate_change_state): Fix audiorate some more. Reset and resync counters on flush and READY. Handle the DISCONT flag correctly. Use GstSegment to track position. Fail when not negotiated. Fixes #353234.