http://bugs.winehq.org/show_bug.cgi?id=10001
--- Comment #6 from Raymond superquad.vortex2@gmail.com 2010-04-27 22:22:13 --- (In reply to comment #3)
WONTFIX?
http://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m.html
The configuration is chosen fixing single parameters in this order: first access, first format, first subformat, min channels, min rate, min period time, max buffer size, min tick time
he hardware parameters cannot be changed when the stream is running (active)
http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html
The ALSA PCM devices use the parameter refining system for hardware parameters - snd_pcm_hw_params_t. It means, that application choose the full-range of configurations at first and then application sets single parameters until all parameters are elementary (definite).
The major problem is the period size , buffer size or period time and buffer time are finalised only after snd_pcm_hw_params()
i.e. the function snd_pcm_hw_params_get_period_size() should not be called before snd_pcm_hw_params()
snd_pcm_hw_params_set_periods_integer(pcm, hw_params); snd_pcm_hw_params_set_buffer_time_near(pcm, hw_params, &buffer_time, NULL); buffer_time = 10000; snd_pcm_hw_params_set_period_time_near(pcm, hw_params, &buffer_time, NULL);
err = snd_pcm_hw_params_get_period_size(hw_params, &psize, NULL); buffer_time = 16; snd_pcm_hw_params_set_periods_near(pcm, hw_params, &buffer_time, NULL);