[alsa-devel] [Intel-gfx] Problems with HDMI audio on Intel DG45FC motherboard
fengguang.wu at intel.com
Wed Oct 21 03:38:12 CEST 2009
On Wed, Oct 21, 2009 at 06:37:58AM +0800, David Härdeman wrote:
> On Tue, Oct 20, 2009 at 09:26:00AM +0800, Wu Fengguang wrote:
> >On Thu, Oct 15, 2009 at 01:40:53AM +0800, David Härdeman wrote:
> >> ii) Is there any documentation somewhere on how this mapping is supposed
> >> to be performed in user space?
> >I think Shane has provided a good example for you in another email :)
> >Here are more descriptions for the route plugin:
> So perhaps I should still file a bug with the ALSA bugtracker asking for
> the default ALSA userspace to include a channel mapping along Shane's
That would be good. I'm not sure if PulseAudio need a separate fix.
> >> >Complete silence for how much time?
> >> For the entire duration of the particular movie/audio track/video
> >> clip/whatever.
> >I actually have a DG45FC box and have not run into this problem for
> >all the HDMI monitors I have. What's your monitor model?
> A Samsung LE-55A956 LCD TV. But I think the problem is not with the
> monitor (TV) but rather with the receiver that is between the DG45FC and
> the TV. The receiver is a Marantz SR8002 with HDMI support.
Got it. If you have a HDMI capable TV or monitor, it would be possible to get
rid of the Marantz and check if the problem sticks :)
> >Did the kernel emit some error messages?
OK. You can get more debug info if turning on
> >What if you change display
> >modes with xrandr?
> Haven't tried that yet...currently running on 1920x1080 at 60 which should
> (I guess) be one of the most common modes with modern LCD TV's.
The infoframe would be different for 2-channel pure music and 5.1 channel
movie. The video timing might also affect audio stream, because the HDMI
audio data is transfered in the gaps of video data.
> >HDMI codec/sink seem to take some time to response to the output
> >enable and new infoframe, so there are some delay. I've moved the HDMI
> >output enable command to module load time, this helps. The infoframe
> >is in theory created in run time based on the format of _each_ new
> >audio stream, so infoframe transmission has to be started/stopped
> >for each track..
> So my current theory is along the line of HDMI audio infoframe or video
> infoframe problems. Do you have any pointers where in the driver(s)
> the infoframes (both audio and video) are generated so that I can add
> some debugging statements to dump the frames and compare the working
> and non-working scenarios?
I guess the infoframe itself should be identical for the same clip.
Have you tried upgrading to a recent Xorg/intel gfx driver?
Anyway, the kernel driver code is linux/sound/pci/hda/patch_intelhdmi.c
The relevant function is hdmi_setup_audio_infoframe(). Inside which the
hdmi_setup_channel_mapping() is not functioning for G45,
hdmi_setup_channel_allocation() is no-op for 2-channel music.
hdmi_debug_dip_size() and hdmi_clear_dip_buffers() can also be commented out.
And feel free to ask more questions :)
More information about the Alsa-devel