On Thu, Jan 12, 2012 at 11:16:47PM +0000, Jonathan Andrews wrote:
On Thu, 2012-01-12 at 16:12 -0600, Andrew Eikum wrote:
On Thu, Jan 12, 2012 at 09:44:11PM +0000, Jonathan Andrews wrote:
I have an application that works using 512 sample packets of 22050Hz 16 bit mono audio. The 'receiver' takes many audio streams from a network via UDP, at the moment it pipes them into pulse.
Can alsa buffer audio. At the moment every time I and set an audio buffer size I get a negative response from snd_pcm_hw_params_set_buffer_size . I'm somewhat confused about the units alsa uses ...
You don't want to over-specify your requirements. You require a buffer size of "at least" 3 * 512 frames. So use set_buffer_size_min().
I cant find any reference to "set_buffer_size_min" in the ALSA API documentation I have or the link you provided ? snd_pcm_hw_params_set_buffer_time_near() is the closest and that seems to take an argument in useconds. ? http://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m.html
The doxygen docs are split strangely. The function is documented here: http://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m___h_w___params.h...
I find keeping the alsa-lib source on hand for quick grepping is often helpful.
Andrew