wavparse: When flushing on EOS, don't process more data than the "data" size
authorSebastian Dröge <sebastian@centricular.com>
Wed, 13 Jan 2016 22:40:20 +0000 (23:40 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Wed, 13 Jan 2016 22:42:31 +0000 (23:42 +0100)
Even if we have more data queued up when flushing than the size of the data
chunk, don't process and output it. If the data size is known, this likely
contains another chunk (e.g. an INFO chunk) or things like ID3 tags. Just
outputting them as if they were data is going to cause unexpected behaviour
and unpleasant audio noises.

gst/wavparse/gstwavparse.c

index 1452db4..687a41a 100644 (file)
@@ -2322,8 +2322,6 @@ gst_wavparse_flush_data (GstWavParse * wav)
   guint av;
 
   if ((av = gst_adapter_available (wav->adapter)) > 0) {
-    wav->dataleft = av;
-    wav->end_offset = wav->offset + av;
     ret = gst_wavparse_stream_data (wav);
   }