[alsa-devel] Aplay Fails When Reading From stdin

Jay Foster jay at systech.com
Fri May 4 21:57:35 CEST 2018



On 5/4/2018 12:47 PM, Takashi Iwai wrote:
> On Fri, 04 May 2018 19:51:05 +0200,
> Jay Foster wrote:
>> I recently updated may alsa from 1.1.4.1 to 1.1.6.  I now noticed that
>> aplay does not work properly (the same as 1.1.4.1) when reading the
>> sound file data from stdin.  This might have something to do with the
>> recent change with reading the sound file header.
>>
>> With the previous version of aplay, aplay would report:
>>
>> Playing WAVE 'stdin' : Signed 16 bit Little Endian, Rate 22050 Hz, Mono
>>
>> With 1.1.6, aplay reports:
>>
>> Playing raw data 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
>>
>> This results in static/noise output.  If I explicitly add the '-f
>> S16_LE -r 22050' options to aplay, then it does play correctly.
>>
>> Is this a known bug and is there a fix?
> It works fine on my system.
>
> % aplay test.wav
> Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
>
> % aplay < ~/test/test.wav
> Playing WAVE 'stdin' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
>
> % aplay --version
> aplay: version 1.1.6 by Jaroslav Kysela <perex at perex.cz>
>
>
> Takashi
>
>
Well, it does not work for me:

cat bird-calls.wav | /usr/bin/aplay -Dplughw:0 --
Playing raw data 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
^CAborted by signal Interrupt...
aplay: pcm_write:2051: write error: Interrupted system call

aplay -Dplughw:0 bird-calls.wav
Playing WAVE 'bird-calls.wav' : Signed 16 bit Little Endian, Rate 44100 
Hz, Stereo

Looks like aplay may now have problems reading from stdin if stdin is a 
pipe.

Jay



More information about the Alsa-devel mailing list