GNOME Bugzilla – Bug 433135
[wavparse] regression in CVS with mp3-in-wav
Last modified: 2007-04-25 06:53:31 UTC
+++ This bug was initially created as a clone of Bug #433119 +++ Take the mp3-in-wav file attached in the above bug. This now errors out with: gstwavparse.c(1319): gst_wavparse_stream_headers (): /pipeline0/decodebin0/wavparse0: Stream claims blockalign = 1, which is more than 0 - invalid data It used to play with gstwavparse.c Revision 1.142. (even though it puts timestamps on the buffers, despite the fix from bug #405213).
Straight from the Microsoft documentation, when the Audio Format 16-bit value isn't 1 (which signifies PCM audio), the SampleRate, ByteRate, BlockAlign, and BitsPerSample are all format specific and do not follow the same constraints that normal computation that one might make for PCM formats. The only restriction I see that still applies for non-PCM data on BlockAlign is that "software must process a multiple of blockalign bytes at a time". In any case, a blockalign less than 1 makes no sense at all. Perhaps these assertions should be wrapped in an if block checking if the waveform actually contains regular PCM data first?
2007-04-25 Stefan Kost <ensonic@users.sf.net> * gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers): Make header field check conditional. Fixes #433135