Blob Blame History Raw
#!/bin/bash

#/*
# * Copyright (C) 2013-2016 Intel Corporation
# *
# * This program is free software; you can redistribute it and/or modify
# * it under the terms of the GNU General Public License as published by
# * the Free Software Foundation; either version 2 of the License, or
# * (at your option) any later version.
# *
# * This program is distributed in the hope that it will be useful,
# * but WITHOUT ANY WARRANTY; without even the implied warranty of
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# * GNU General Public License for more details.
# *
# */
#set -x

subdevice_number=0
get_subdevice=0

#make sure the HDMI monitor is connected and active ########

# To get HDMI audio device number
card_number=$(aplay -l | grep "HDMI 0" | cut -b 6)
if [ "$card_number" = "" ]; then
	echo "Can not get Display audio card."
	#failed to get Display audio card.
	exit 1
fi

audio_card_dir="/proc/asound/card$card_number/"

cd $audio_card_dir
for file in `ls`
	do
		#To get the ELD information according to the connented monitor with HDMI
		if [[ $file == eld* ]]; then
			let subdevice_number+=1
			cat $file | grep connection_type | grep HDMI > /dev/null
			if [ $? = 0 ]; then
				get_subdevice=1
				break
			fi
		fi
	done

#failed to get the subdevice number of HDMI audio.
if [ $get_subdevice == 0 ]; then
	exit 77
fi

#the subdevice number of HDMI audio is 3.
if [ $subdevice_number == 1 ]; then
	exit 3
#the subdevice number of HDMI audio is 7.
elif [ $subdevice_number == 2 ]; then
	exit 7
#the subdevice number of HDMI audio is 8.
elif [ $subdevice_number == 3 ]; then
	exit 8
#default: failed to get the subdevice number of HDMI audio.
else
	exit 77
fi