On Sun, Jul 26, 2009 at 10:52:01AM +0200, Takashi Iwai wrote: > > It's a known issue that Intel HDMI audio loses the first > > half second or so of audio when opening the device. Using > > the dmix interface, I've been able to get around that by > > writing a quick app to hold the device open so the HDMI > > stays live. However, with the recent asound.conf posted > > here which uses the route plugin to fix the multichannel > > order, I can't do that as dmix isn't in the picture. I'd > > rather not use dmix anyway since it can bugger with the > > sample rate so I am wondering if there's another way to get > > around this. > > It's possible to combine with dmix. > You set up dmix with 8 channels, put route plugin over it. This has a few problems. It doesn't seem to handle varying sample rates. IE if I play a 96khz stream at 6 channels, sound is terrible. Also, streaming DTS or AC3 no longer works since the streams are being upmixed to 6ch. I did some digging in the drivers to try and find the source of this problem. Note that I am really not familiar with this stuff. It appears to be here: hda_codec.c void snd_hda_codec_setup_stream(...) ... snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_CHANNEL_STREAMID, Introducing a delay after this point fixes the issue but it's around a full second so that's obviously not a solution. Could we not cache the current format and only do this when the format changes rather than on every device open? For testing, I tried doing this though and disabling the set_streamid, 0 call in snd_codec_cleanup() but it still missed those first samples. Is there somewhere else I need to be looking? Shane _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel