# @name Testing for channel configurations
# @desc Do capture and loopback for different channels of audio
# @requires sound
ALSA_XS_FUNC_CAPTURE_CHANNEL_MONO_1 source 'common.sh' ;do_cmd install_modules.sh 'sound' ; do_cmd 'alsa_tests.sh -t capture -d 10 -c 1 -F ALSA_S_FUNC_CAPTURE_CHANNEL_1.snd'; do_cmd 'alsa_tests.sh -t playback -d 10 -c 1 -F ALSA_S_FUNC_CAPTURE_CHANNEL_1.snd'
ALSA_S_FUNC_CAPTURE_CHANNEL_MONO_2 source 'common.sh' ; do_cmd install_modules.sh 'sound' ;do_cmd 'alsa_tests.sh -t capture -d 60 -c 1 -F ALSA_M_FUNC_CAPTURE_CHANNEL_2.snd'; do_cmd 'alsa_tests.sh -t playback -d 60 -c 1 -F ALSA_M_FUNC_CAPTURE_CHANNEL_2.snd'
ALSA_S_FUNC_CAPTURE_CHANNEL_MONO_3 source 'common.sh' ; do_cmd install_modules.sh 'sound' ;do_cmd 'alsa_tests.sh -t capture -d 300 -c 1 -F ALSA_L_FUNC_CAPTURE_CHANNEL_3.snd'; do_cmd 'alsa_tests.sh -t playback -d 300 -c 1 -F ALSA_L_FUNC_CAPTURE_CHANNEL_3.snd'
ALSA_XS_FUNC_LOOPBK_CHANNEL_MONO_1 source 'common.sh' ; do_cmd install_modules.sh 'sound' ;do_cmd 'alsa_tests.sh -t loopback -c 1 -d 10'
ALSA_S_FUNC_LOOPBK_CHANNEL_MONO_2 source 'common.sh' ; do_cmd install_modules.sh 'sound' ;do_cmd 'alsa_tests.sh -t loopback -c 1 -d 60'
ALSA_S_FUNC_LOOPBK_CHANNEL_MONO_3 source 'common.sh' ; do_cmd install_modules.sh 'sound' ;do_cmd 'alsa_tests.sh -t loopback -c 1 -d 300'
ALSA_XS_FUNC_CAPTURE_CHANNEL_STERIO_1 source 'common.sh' ; do_cmd install_modules.sh 'sound' ;do_cmd 'alsa_tests.sh -t capture -d 10 -c 2 -F ALSA_S_FUNC_CAPTURE_CHANNEL_2.snd';do_cmd 'alsa_tests.sh -t playback -d 10 -c 2 -F ALSA_S_FUNC_CAPTURE_CHANNEL_2.snd'
ALSA_S_FUNC_CAPTURE_CHANNEL_STERIO_2 source 'common.sh' ; do_cmd install_modules.sh 'sound' ;do_cmd 'alsa_tests.sh -t capture -d 60 -c 2 -F ALSA_M_FUNC_CAPTURE_CHANNEL_2.snd'; do_cmd 'alsa_tests.sh -t playback -d 60 -c 2 -F ALSA_M_FUNC_CAPTURE_CHANNEL_2.snd'
ALSA_M_STRESS_CAPTURE_CHANNEL_STERIO_3 source 'common.sh' ; do_cmd install_modules.sh 'sound' ;do_cmd 'alsa_tests.sh -t capture -d 300 -c 2 -F ALSA_L_STRESS_CAPTURE_CHANNEL_2.snd'; do_cmd 'alsa_tests.sh -t playback -d 300 -c 2 -F ALSA_L_STRESS_CAPTURE_CHANNEL_2.snd'
ALSA_XS_FUNC_LOOPBK_CHANNEL_STERIO_1 source 'common.sh' ; do_cmd install_modules.sh 'sound' ;do_cmd 'alsa_tests.sh -t loopback -c 2 -d 10'
ALSA_S_FUNC_LOOPBK_CHANNEL_STERIO_2 source 'common.sh' ; do_cmd install_modules.sh 'sound' ;do_cmd 'alsa_tests.sh -t loopback -c 2 -d 60'
ALSA_S_FUNC_LOOPBK_CHANNEL_STERIO_3 source 'common.sh' ; do_cmd install_modules.sh 'sound' ;do_cmd 'alsa_tests.sh -t loopback -c 2 -d 300'

ALSA_S_FUNC_CAPTURE_MAX_CHANNELS source 'alsa_funcs.sh' ; rec_device=$((get_audio_devnodes.sh -d pcm3168 -t record -e JAMR || get_audio_devnodes.sh -d aic -t record -e JAMR) | grep 'hw:[0-9]' || echo 'hw:0,0'); hw_dump=`dump_hw_params record $rec_device`; channels=`get_default_val "${hw_dump}" "CHANNELS" 1`; do_cmd "alsa_tests.sh -t capture -d 60 -c ${channels} -F /dev/null"

ALSA_S_FUNC_PLAY_MAX_CHANNELS source 'alsa_funcs.sh' ; play_device=$((get_audio_devnodes.sh -d pcm3168 -t play -e JAMR || get_audio_devnodes.sh -d aic -t play -e JAMR) | grep 'hw:[0-9]' || echo 'hw:0,0'); hw_dump=`dump_hw_params play $play_device`; channels=`get_default_val "${hw_dump}" "CHANNELS" 1`; T=`mktemp`; do_cmd "alsa_tests.sh -t playback -d 60 -c ${channels} -F /dev/urandom"
