I noticed another big problem in my application relating to locking the system at 48 KHz in the background. If I set SPDIF to 44.1KHz on some playback software (Xine for example) between tracks the system briefly switches back to 48 KHz. This causes an audible pop as the external DAC tries to keep up with the rate change. I have not found a way to lock the system at a different rate (44100 for example) so this doesn't happen between tracks. This behavior is common to both the ICE1724 and the VT1708 drivers. -Demian
Date: Thu, 28 Feb 2008 16:12:10 -0500 From: Matt Whitlock matt@whitlock.name Subject: Re: [alsa-devel] How to set idle S/PDIF sample rate? To: Takashi Iwai tiwai@suse.de Cc: alsa-devel@alsa-project.org Message-ID: 200802281612.11099.matt@whitlock.name Content-Type: text/plain; charset="iso-8859-1"
On Thursday, 28 February 2008 6:43:25 am Takashi Iwai wrote:
The driver code resets the format verb of the relevant widgets at closing streams. This verb contains the sample rate, too. Maybe keeping this would prevent the reset.
The below is a test patch. Give it a try.
Wow, fantastic. I will give this patch a try. I'll have to rebuild my kernel to disable the in-kernel ALSA code and build the ALSA module separately from the latest sources, but if this patch fixes things, that would be worth the effort. I'll get back to you. Thanks.
-Matt