At Mon, 27 Oct 2008 08:32:05 +0300, The Source wrote:
Alexander E. Patrakov пишет:
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)
Wine causes sound corruption with this driver for me (along with some other software like Pulseaudio).
Does it happen also with base_rate=48000 option?
It'd be helpful if someone can summarize the working and non-working cases. For example,
global info: 1. sbxfi driver version (date & HEADs) 2. base_rate value 3. system details (x86-64, distro, kernel version, etc)
for each app: A. Application name / version B. working or not-working, problem descriptions C. ALSA or OSS (you can see it in /proc/asound/card*/pcm0/sub0/hw_params) D. period_size and buffer_size (ditto, or in kernel message) E. any special options
Maybe also nice on Wiki...