Re: [alsa-devel] [Intel-gfx] Problems with HDMI audio on Intel DG45FC motherboard
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 recommendation?
That would be good. I'm not sure if PulseAudio need a separate fix. (Lennart CCed).
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?
Nope
OK. You can get more debug info if turning on
CONFIG_SND_VERBOSE_PROCFS=y CONFIG_SND_VERBOSE_PRINTK=y CONFIG_SND_DEBUG=y CONFIG_SND_DEBUG_VERBOSE=y CONFIG_SND_PCM_XRUN_DEBUG=y
What if you change display modes with xrandr?
Haven't tried that yet...currently running on 1920x1080@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 :)
Thanks, Fengguang
At Wed, 21 Oct 2009 09:38:12 +0800, Wu Fengguang wrote:
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 recommendation?
That would be good. I'm not sure if PulseAudio need a separate fix. (Lennart CCed).
Some ideas in my mind (and experimental patches in my archive) for exposing the channel mapping to user-space. But I've had too little time to work on it until now. Will try to find some time again.
Also, for remapping the channels, we can write another plugin that is more optimized than the route plugin.
thanks,
Takashi
participants (2)
-
Takashi Iwai
-
Wu Fengguang