[Bug 794280] New: wavpasrse: failed to parse an S24_LE wav file
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Tue Mar 13 09:53:16 UTC 2018
https://bugzilla.gnome.org/show_bug.cgi?id=794280
Bug ID: 794280
Summary: wavpasrse: failed to parse an S24_LE wav file
Classification: Platform
Product: GStreamer
Version: 1.12.x
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gst-plugins-good
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: lyon.wang at nxp.com
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Hi,
When I was trying to playback and S24_LE wav file, wavparse return the
blockAlign is invalid and failed to play.
The log info as below: (GST_DEBUG=wavparse:6)
# gst-launch-1.0 filesrc location=audio_l44k24b2c.wav ! wavparse ! filesink
location=/tmp/tmp.pcm
Setting pipeline to PAUSED ...
0:00:00.112387035 30150 0x3679df30 DEBUG wavparse
gstwavparse.c:2801:gst_wavparse_sink_activate:<wavparse0:sink> activating pull
Pipeline is PREROLLING ...
0:00:00.114615325 30150 0x36716370 LOG wavparse
gstwavparse.c:2164:gst_wavparse_loop:<wavparse0> process data
0:00:00.114734612 30150 0x36716370 INFO wavparse
gstwavparse.c:2168:gst_wavparse_loop:<wavparse0> GST_WAVPARSE_START
0:00:00.114950385 30150 0x36716370 INFO wavparse
gstwavparse.c:2183:gst_wavparse_loop:<wavparse0> GST_WAVPARSE_HEADER
0:00:00.115002708 30150 0x36716370 DEBUG wavparse
gstwavparse.c:1138:gst_wavparse_stream_headers:<wavparse0> creating the caps
0:00:00.115099073 30150 0x36716370 WARN wavparse
gstwavparse.c:1741:gst_wavparse_stream_headers:<wavparse0> error: Stream claims
blockalign = 8, which is more than 6 - invalid data
0:00:00.115211880 30150 0x36716370 DEBUG wavparse
gstwavparse.c:2205:gst_wavparse_loop:<wavparse0> pausing task, reason error
0:00:00.115246322 30150 0x36716370 WARN wavparse
gstwavparse.c:2249:gst_wavparse_loop:<wavparse0> error: Internal data stream
error.
0:00:00.115319046 30150 0x36716370 WARN wavparse
gstwavparse.c:2249:gst_wavparse_loop:<wavparse0> error: streaming stopped,
reason error (-5)
ERROR: from element /GstPipeline:pipeline0/GstWavParse:wavparse0: GStreamer
encountered a general stream error.
Additional debug info:
../../../git/gst/wavparse/gstwavparse.c(1741): gst_wavparse_stream_headers ():
/GstPipeline:pipeline0/GstWavParse:wavparse0:
Stream claims blockalign = 8, which is more than 6 - invalid data
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
0:00:00.116234339 30150 0x3679df30 DEBUG wavparse
gstwavparse.c:251:gst_wavparse_dispose:<wavparse0> WAV: Dispose
And I checked the wavparse:
if (wav->blockalign > wav->channels * ((wav->depth + 7) / 8))
goto invalid_blockalign;
however, for S24_LE format wav
suppose the depth is 24, and the width=32, and the blockAlign is 8 (for
2channels), so it is > 2*(24+7)/8, considered as invalid value.
I'm not sure whether the BlockAlign here is right or not, or maybe my
understanding is not right, the blockAlign value is incorrectly encoded.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list