Takashi Iwai wrote:
A few important features are in my mind:
- continuous rate support
In the sources, you have:
Note: 44.1kHz is possible, but is more complex because it uses a method whereby the channel ring marks each sample in the channel ring as valid or not, so to get 44.1kHz, some samples are simply tagged invalid. The "channel ring" is not the ring buffer that is used to get sound samples to the card. The "channel ring" is used to pass samples between different processing modules on the card. One of these processing modules is the SRC, another is the INs/OUTs, another is the hardware mixer, and yet another is the DSP.
Do I understand correctly that the card internally resamples the sound to a different rate using the zero-order-hold method? If so, I'd rather not see this feature at all unless the "i_want_horrible_sound" parameter is passed, because software can do it better, and some program will surely default to using this hardware misfeature.
OTOH, Wine is doing this for ages and nobody except me complains (http://bugs.winehq.org/show_bug.cgi?id=14717)