• Wu Fengguang's avatar
    ALSA: hda: HDMI channel allocations for audio infoframe · 698544de
    Wu Fengguang authored
    To play a 3+ channels LPCM/DSD stream via HDMI,
    
    	- HDMI sink must tell HDMI source about its speaker placements
    	  (via ELD, speaker-allocation field)
    	- HDMI source must tell the HDMI sink about channel allocation
    	  (via audio infoframe, channel-allocation field)
    
    (related docs: HDMI 1.3a spec section 7.4, CEA-861-D section 7.5.3 and 6.6)
    
    This patch attempts to set the CA(channel-allocation) byte in the audio infoframe
    according to
    	- the number of channels in the current stream
    	- the speakers attached to the HDMI sink
    
    A channel_allocations[] line must meet the following two criteria to be
    considered as a valid candidate for CA:
    	1) its number of allocated channels = substream->runtime->channels
    	2) its speakers are a subset of the available ones on the sink side
    
    If there are multiple candidates, the first one is selected.  This simple
    policy shall cheat the sink into playing music, but may direct data to the
    wrong speakers.
    Signed-off-by: default avatarWu Fengguang <wfg@linux.intel.com>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    698544de
patch_intelhdmi.c 19.3 KB