http://bugs.winehq.org/show_bug.cgi?id=14717
--- Comment #56 from Alexander E. Patrakov patrakov@gmail.com 2010-12-22 04:12:04 CST --- (In reply to comment #54)
The primary buffer must use the hardware supported rate (i.e. the jack server 's sample rate when using winejack )
Yes. In my test from comment 4, this is indeed so: both jackd and the primary buffer run at 192 kHz. I agree that it is a bug that winejack advertises other rates as available for the primary buffer, but it is a separate bug 25587.
There are two important issue in software mixing of the secondary buffer , mixing at different rate and mixing with software atten
Yes. This bug is about the implementation of mixing at a different rate. Any DSP book will state that it should not be done by copying samples (as it is done now), but by band-limited interpolation.
[please indicate whether you agree with my statements below]
In the rest of your comment you list how various drivers could implement mixing at a different volume. The overall conclusion seems to be that most drivers can use the existing system services (like softvol and pulseaudio) to implement attenuation. It is true. In this case, a primary buffer is no longer present in Wine.
The same logic about moving the mixing procedure out of Wine can be applied even to streams with different sample rate: both ALSA and PulseAudio support this. So, if we remove winejack that can neither attenuate nor resample, move the primary buffer out of Wine, and let the existing sound system resample and attenuate sound, then there will be no need to have a resampler or mixer in Wine at all. The existing external resamplers and mixers are good. I.e., this is indeed an alternative solution to this bug. It may or may not be better in the long run, but it is rather intrusive.