GNOME Bugzilla – Bug 337031
vorbisdec outputs too much data
Last modified: 2006-09-29 10:54:50 UTC
Vorbisdec outputs additional data beyond the end of the stream. We don't set EOS on the packets fed to libvorbis, so libvorbis is unable to correctly trim the final packet. This means we output made-up-data beyond the end of the actual stream. We need to delay pushing the packets into the decoder library by a packet, so that we can push the final packet with EOS set when we get the EOS event.
indeed. I was thinking about a new buffer flag to mark the last packet but that seems like a wrong idea if some element would need to delay by more than one buffer, for example. Just delaying it in the element is best.
We do clipping in vorbisdec now, so this works right (I did a single simple test), although we don't do it using libvorbis's internal clipping, that's ok.