[alsa-devel] Exemple of source code for capture without using callback

brunal2496 gmail brunal2496 at gmail.com
Tue Oct 20 16:49:28 CEST 2009

Hi all,

it's my first time on this list and my knowledge about using poll()  
mutex and thread creation is a bit far away from now, so please, if  
this list is the wrong place for such a question, could you point me  
in the right direction?

Does anyone can point me a place to find a good exemple of source code  
for capturing sound with alsa without using callbacks?

I'm trying to interface a voice recognition software with the alsa  

I have to get audio from alsa convert it and then send to the  
recognition engine.
I've read everywhere that using callback is a bad method to use the  
alsa drivers.

As the recognition software is a server, it needs to be synchronized  
with my application. And so my main() cannot loop on a endless loop  
with the snd_pcm_readi() function inside.

My first idea was to create a new thread and to let this thread  
running with a endless loop that do the snd_pcm_readi() and send the  
buffer to the recognition software.
But I 've read the existence of smd_pcm_poll_descriptors() function.  
For now I not shure was it is for and how to use it properly.

What do you think?

I'm sorry if my question is a real newbie question, but exemple online  
are only for playback not capture.

Many thanks for all your answers.


More information about the Alsa-devel mailing list