On Fri, 29 Oct 2010, Raymond Yau wrote:
On Sat, 30 Jan 2010, Louise Hoffman wrote:
Dear ALSA developers,
When I compile ALSA's pcm_min.c[0] example with
gcc -Wall -lasound pcm_min.c -o pcm_min
Everything is fine, but running it, I get the white noise as expected, but I also get this warning/error:
Short write (expected 16384, wrote 7616)
It was a bug in alsa-lib. I fixed it in patch bellow. Thank you for your report.
http://git.alsa-project.org/?p=alsa-lib.git;a=commitdiff;h=2e48439ad93f6c8d9... http://git.alsa-project.org/?p=alsa-lib.git;a=commitdiff;h=2e48439ad93f6c8d99a2d72928ac71285b5211bb
Add snd_pcm_dump() after call snd_pcm_set_params in pcm_min.c
The start threshold is equal to buffer size , so there should be a short write at the second write since 16384 + 7616 = 24000 ( start threshold )
your patch had changed the behaviour
The pcm_min uses the blocked mode, so all layers tries to queue all given samples and wait for the ring buffer.
buffer_size : 24000 start_threshold : 24000
state = 2 write 16384 frames state = 2 write 16384 frames state = 3
This looks correct.
Jaroslav
----- Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.