http://bugs.winehq.org/show_bug.cgi?id=20604
Raymond superquad.vortex2@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |superquad.vortex2@gmail.com
--- Comment #5 from Raymond superquad.vortex2@gmail.com 2010-03-14 21:13:38 --- This is because most sound cards have fixed buffer size ( especially those hardware mixing sound cards which are designed for dsound )
since wavein.c and waveout.c of winealsa.drv use some magic number for period_time and buffer_time and snd_pcm_hw_params_set_period_time_near() , snd_pcm_hw_params_set_buffer_time_near()
using different rate will assign different buffer size and this is why the test fail
Nowadays , the most common hda driver also has a constraint of period_size must be multiple of 128 bytes ( PCIe brust size ) , so you will not get the exact period time you want
Most application developer prefer to use time instead of bytes for the application but they seem to neglect the hardware limitation of the drivers
(e.g. DMA page size of x86 when you use mmap )