[Intel-gfx] Problems with HDMI audio on Intel DG45FC motherboard
david at hardeman.nu
Wed Nov 4 02:54:36 PST 2009
On Tue, November 3, 2009 15:09, Wu Fengguang wrote:
> 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)
Yes, once I've configured a 5.1 speaker setup (using the control panel in
Windows 7), 6 channels are indicated on the receiver and it stays that way
for all cases (1) - (4) you mentioned.
>> The windows driver also has some interesting registry entries referring
>> "SilentStream" and "VCFG", the latter probably referring to the VCFG bit
>> in the digital converter control reg in section 188.8.131.52 of the HDA
> Yeah, it's interesting to have some "SilentStream":
> V (Validity): This bit affects the "Validity flag," bit
> transmitted in each subframe, and enables the S/PDIF
> transmitter to maintain connection during error or mute
Is that flag transmitted over HDMI as well? Might need to check more docs
but perhaps you already know the answer?
>> 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
>> there are no hiccups and no initial silence when the player resumes
>> 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.
I agree that changing the STREAMID (and perhaps STREAM_FORMAT) seems to
cause the lost samples.
I haven't tried your latest patchset yet, I've been busy testing some
other approaches and reading Intel docs (the HDA spec is spread over quite
a lot of docs by now).
In particular I found this document interesting:
More information about the Intel-gfx