[alsa-devel] 0 or EAGAIN from snd_pcm_update_avail()?
Hi all,
if snd_pcm_update_avail() gets called on a PCM device in non-blocking mode when no data is availabe jet, what is the expected return value? -0 -EAGAIN -either is valid
I am asking this question because pulseaudio expect to receive 0, but the the bluetooth headset pcm transfer callback returns EAGAIN, so I want to find out against whoms I should open a bug :)
Thanks in advance, Ludovico
On Thu, 2 Apr 2009, Ludovico Cavedon wrote:
Hi all,
if snd_pcm_update_avail() gets called on a PCM device in non-blocking mode when no data is availabe jet, what is the expected return value? -0 -EAGAIN -either is valid
I am asking this question because pulseaudio expect to receive 0, but the the bluetooth headset pcm transfer callback returns EAGAIN, so I want to find out against whoms I should open a bug :)
0.
-EAGAIN should be returned only for R/W operations but not for buffer position routines. They should return always immediatelly with useable value (thus EAGAIN does not make sense).
Jaroslav
----- Jaroslav Kysela perex@perex.cz Linux Kernel Sound Maintainer ALSA Project, Red Hat, Inc.
On Fri, Apr 3, 2009 at 12:04 AM, Jaroslav Kysela perex@perex.cz wrote:
On Thu, 2 Apr 2009, Ludovico Cavedon wrote:
if snd_pcm_update_avail() gets called on a PCM device in non-blocking mode when no data is availabe jet, what is the expected return value? -0 -EAGAIN -either is valid
I am asking this question because pulseaudio expect to receive 0, but the the bluetooth headset pcm transfer callback returns EAGAIN, so I want to find out against whoms I should open a bug :)
-EAGAIN should be returned only for R/W operations but not for buffer position routines. They should return always immediatelly with useable value (thus EAGAIN does not make sense).
I see. But is it correct for the ioplug module to call the transfer callback when snd_pcm_avail_update() is invoked?
Thanks, Ludovico
participants (2)
-
Jaroslav Kysela
-
Ludovico Cavedon