[alsa-devel] [RFC] ASOC: HDMI audio info frame speaker allocation

Arnaud Pouliquen arnaud.pouliquen at st.com
Wed Nov 30 18:54:32 CET 2016


Hello,

I'm trying to understand how to implement the speaker allocation for
HDMI output.

input:
 - HDMI sink provides the speaker presence in ELD structure
 - audio source can also contain channels position.

output:
 Audio info frame (IF) should contain audio channel allocation (
hdmi_audio_infoframe structure).

So if i well understand the concept, application should be in charge of
aligning channels with HDMI sink speakers...

Regarding HDA driver, audio IF channel allocation is computing based on
"Playback Channel Map"control . Application set the speaker information
of the audio IF through this control.

On ASOC side, in hdmi-codec,
 -'ELD" control exists  to export speaker information to application
 - info frame channel allocation is hardware coded in
hdmi_codec_hw_params. The configuration is set by default depending on
the number of channels. Drawback is that application is not aware of the
configuration selected by the driver.

So it seems that something is missing to do the link between EDID
information and audio source channel mapping on one side and audio IF
configuration on other side.

What should be the best strategy to support feature in ASoC?
- No update in hdmi-codec, consider that application should know
the configuration available for 2,4,6 and 8 channels
  => seems not very flexible...

- Update hdmi-codec to implement "Playback Channel Map" in read-only, to
provide channel mapping information to application.
 => impact is light, but application can get the correct mapping only
after the update of the number of channels (so after hw_params ops call)

- Update hdmi-codec to implement "Playback Channel Map" in read and
write access.
 => HDA implementation. Seems the more flexible solution from my windows...

- Implement control in drm drivers
  => seems not reasonable.

- Other?

Thanks in advance for your answers.

Regards
Arnaud






More information about the Alsa-devel mailing list