[alsa-devel] XRUN happens too often.

Rong-Jhe r93922118 at ntu.edu.tw
Thu Apr 10 10:24:51 CEST 2008


> 
> I found that there will be a thread generated after calling snd_pcm_open().
> I use command 'ps' to check it.
> Due to this I guess snd_pcm_writei() only put the data into the buffer of 
the 
> thread 'pcm'.
> 
> This thread then schedules of mixes the audio data, and put it into the 
buffer 
> of ALSA driver.
> ALSA ringbuffer only belongs to ALSA library, and ALSA driver uses anoother 
> buffer in kernel.
> Thus, there must be a thread that can put the data in ALSA ringbuffer into 
the 
> buffer of ALSA driver.
> 

I found that snd_pcm_direct_server_create() in ALSA library will create a 
thread.
This resolves my problem that why ALSA library needn't use a daemon to mixing 
audio like other mixing server.





More information about the Alsa-devel mailing list