• Anssi Hannula's avatar
    ALSA: hda - hdmi: Set infoframe and channel mapping even without sink · 561a7d6e
    Anssi Hannula authored
    Currently infoframe contents and channel mapping are only set when a
    sink (monitor) is present.
    
    However, this does not make much sense, since
    1) We can make a very reasonable guess on CA after 18e39186 ("ALSA:
       hda - hdmi: Fallback to ALSA allocation when selecting CA") or by
       relying on a previously valid ELD (or we may be using a
       user-specified channel map).
    2) Not setting infoframe contents and channel count simply means they
       are left at a possibly incorrect state - playback is still allowed
       to proceed (with missing or wrongly mapped channels).
    
    Reasons for monitor_present being 0 include disconnected cable, video
    driver issues, or codec not being spec-compliant. Note that in
    actual disconnected-cable case it should not matter if these settings
    are wrong as they will be re-set after jack detection, though.
    
    Change the behavior to allow the infoframe contents and the channel
    mapping to be set even without a sink/monitor, either based on the
    previous valid ELD contents, if any, or based on sensible defaults
    (standard channel layouts or provided custom map, sink type HDMI).
    Signed-off-by: default avatarAnssi Hannula <anssi.hannula@iki.fi>
    Tested-by: default avatarStephan Raue <stephan@openelec.tv>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    561a7d6e
patch_hdmi.c 94.7 KB