David, On Tue, Nov 03, 2009 at 09:16:37PM +0800, David Härdeman wrote: > I've done some more testing... That's awesome efforts, thank you very much! > I managed to borrow a DG45FC based computer with Windows 7 (32-bit, using > HDMI driver 14.6 from Intel's website) from a colleague over the weekend. > > Under Windows 7, HDMI audio with my receiver just works when using the > Windows drivers (no complete-track-silence, no initial 0.5s silence). If I > use the control panel application to configure a 5.1 speaker setup, the > corresponding 5.1 speaker indication lights up on the receiver LCD and > stays on whether I'm playing stereo sounds (like Windows event sounds) or > multi-channel sources (tested with a DVD played using VLC with software > decoding of the AC3 track to 6 channel PCM stream). This suggests that my > issues *can* be resolved by hacking the driver :) This is interesting. In my ALSA tests on YAMAHA RX1800: (1) 6 channels light up on "speaker-test -c6" (2) 2 channels light up on playing normal music (3) when not playing anything, 2 channels remain light up (4) need to double check the "pause" case So you mean Windows 7 always light up 6 channels for cases (2) and (3), besides case (1)? (under your 5.1 speaker config) > The windows driver also has some interesting registry entries referring to > "SilentStream" and "VCFG", the latter probably referring to the VCFG bit > in the digital converter control reg in section 7.3.3.9 of the HDA spec). Yeah, it's interesting to have some "SilentStream": V (Validity): This bit affects the "Validity flag," bit[28] transmitted in each subframe, and enables the S/PDIF transmitter to maintain connection during error or mute conditions. > Also, it's interesting to note that when I am playing a working audio > sample under Linux, then pause and resume playing (using the UI controls), > there are no hiccups and no initial silence when the player resumes (from > a quick reading of the code, the audio infoframe should still be > transmitted, only DMA of audio data is stopped when pcm is paused). Good catch! The stop/start of a playback involves many operations - including the AC_VERB_SET_CHANNEL_STREAMID which seem to directly related to the 0.5s lost samples problem. > Perhaps I've been going down the wrong path by focusing too much on the > audio infoframe side of things. > > I wonder if the approach taken by the Windows drivers when there is > nothing to play is more similar to the pause/play commands in the Linux > driver and if it would be a big undertaking to make the Linux driver do > something similar...? Maybe. I wonder if there is some _windows_ tool to query the audio codec status.. > (Another option I'm planning to look into is whether power-saving might > interfere with normal HDMI audio operation.) One known problem is, the Xorg DPMS ops can mute HDMI audio.. > On Mon, November 2, 2009 09:57, Wu Fengguang wrote: > > FYI, I worked up a patchset which incorporates your patch > > and plan to submit it some time later. Tests OK on my side :) > > Which kernel version is the patchset based on? I couldn't apply it to > 2.6.32-rc5 or git head (which is what I've been using for your previous > patchsets). It's based on sound-2.6: git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git Thanks, Fengguang ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user