# @name USB Host Audio class. 
# @desc Test cases corresponding to USB Host loopback/playback Audio class. 
# @requires usb/host/iso
# @setup_requires usbhostaudio

# LOOPBACK

USBHOST_XS_FUNC_AUDIO_LOOPBACK_ACCESSTYPE_MMAP_01     source 'common.sh' ; do_cmd install_modules.sh 'usb'; do_cmd usb_audio_search_devices.sh loopback usb; audio_dev=`usb_audio_search_devices.sh loopback usb`; rec_dev=${audio_dev:0:1}; play_dev=${audio_dev:1:1}; do_cmd 'alsa_tests.sh -R plughw:'$rec_dev',0  -P plughw:'$play_dev',0 -t loopback -a 1 -d 10 -f S16_LE -r 44100 -p 1000 -b 262144'

USBHOST_S_FUNC_AUDIO_LOOPBACK_ACCESSTYPE_MMAP_02     source 'common.sh' ; do_cmd install_modules.sh 'usb'; do_cmd usb_audio_search_devices.sh loopback usb; audio_dev=`usb_audio_search_devices.sh loopback usb`; rec_dev=${audio_dev:0:1}; play_dev=${audio_dev:1:1}; do_cmd 'alsa_tests.sh -R plughw:'$rec_dev',0  -P plughw:'$play_dev',0 -t loopback -a 1 -d 60 -f S16_LE -r 44100 -p 1000 -b 262144'

USBHOST_M_FUNC_AUDIO_LOOPBACK_ACCESSTYPE_MMAP_03     source 'common.sh' ; do_cmd install_modules.sh 'usb'; do_cmd usb_audio_search_devices.sh loopback usb; audio_dev=`usb_audio_search_devices.sh loopback usb`; rec_dev=${audio_dev:0:1}; play_dev=${audio_dev:1:1}; do_cmd 'alsa_tests.sh -R plughw:'$rec_dev',0  -P plughw:'$play_dev',0 -t loopback -a 1 -d 300 -f S16_LE -r 44100 -p 1000 -b 262144'

USBHOST_XS_FUNC_AUDIO_LOOPBACK_ACCESSTYPE_NONINTER_01  source 'common.sh' ; do_cmd install_modules.sh 'usb'; do_cmd usb_audio_search_devices.sh loopback usb; audio_dev=`usb_audio_search_devices.sh loopback usb`; rec_dev=${audio_dev:0:1}; play_dev=${audio_dev:1:1}; do_cmd 'alsa_tests.sh -R plughw:'$rec_dev',0  -P plughw:'$play_dev',0 -t loopback -a 0 -d 10 -f S16_LE -r 44100 -p 1000 -b 262144'

USBHOST_S_FUNC_AUDIO_LOOPBACK_ACCESSTYPE_NONINTER_02  source 'common.sh' ; do_cmd install_modules.sh 'usb'; do_cmd usb_audio_search_devices.sh loopback usb; audio_dev=`usb_audio_search_devices.sh loopback usb`; rec_dev=${audio_dev:0:1}; play_dev=${audio_dev:1:1}; do_cmd 'alsa_tests.sh -R plughw:'$rec_dev',0  -P plughw:'$play_dev',0 -t loopback -a 0 -d 60 -f S16_LE -r 44100 -p 1000 -b 262144'

USBHOST_M_FUNC_AUDIO_LOOPBACK_ACCESSTYPE_NONINTER_03  source 'common.sh' ; do_cmd install_modules.sh 'usb'; do_cmd usb_audio_search_devices.sh loopback usb; audio_dev=`usb_audio_search_devices.sh loopback usb`; rec_dev=${audio_dev:0:1}; play_dev=${audio_dev:1:1}; do_cmd 'alsa_tests.sh -R plughw:'$rec_dev',0  -P plughw:'$play_dev',0 -t loopback -a 0 -d 300 -f S16_LE -r 44100 -p 1000 -b 262144'

# PLAYBACK

USBHOST_S_FUNC_AUDIO_PLAYBACK_ACCESSTYPE_NONINTER_01  source 'common.sh' ; do_cmd install_modules.sh 'usb'; do_cmd usb_audio_search_devices.sh play usb; audio_dev=`usb_audio_search_devices.sh play usb`; do_cmd 'alsa_tests.sh -D hw:'$audio_dev',0 -t playback -a 0 -F $HOME/USBHOST_S_FUNC_AUDIO_PLAYBACK_ACCESSTYPE_NONINTER_01.wav -f S16_LE -r 44100'

USBHOST_M_FUNC_AUDIO_PLAYBACK_ACCESSTYPE_MMAP_01      source 'common.sh' ; do_cmd install_modules.sh 'usb'; do_cmd usb_audio_search_devices.sh play usb; audio_dev=`usb_audio_search_devices.sh play usb`; do_cmd 'alsa_tests.sh -D hw:'$audio_dev',0 -t playback -a 1 -F $HOME/USBHOST_M_FUNC_AUDIO_PLAYBACK_ACCESSTYPE_MMAP_01.wav -f S16_LE -r 44100'

USBHOST_S_STRESS_AUDIO_PLAYBACK_APLAY_STEREO_48KHz_01  source 'common.sh' ; do_cmd install_modules.sh 'usb'; do_cmd usb_audio_search_devices.sh play usb; audio_dev=`usb_audio_search_devices.sh play usb`; for i in {1..10}; do do_cmd 'aplay -Dplughw:'$audio_dev',0 -r 48000 -c 2 -f S16_LE /usr/share/sounds/alsa/Front_Center.wav'; done

USBHOST_S_STRESS_AUDIO_PLAYBACK_APLAY_MONO_48KHz_01  source 'common.sh' ; do_cmd install_modules.sh 'usb'; do_cmd usb_audio_search_devices.sh play usb; audio_dev=`usb_audio_search_devices.sh play usb`; for i in {1..10}; do do_cmd 'aplay -Dplughw:'$audio_dev',0 -r 48000 -c 1 -f S16_LE /usr/share/sounds/alsa/Front_Center.wav'; done

USBHOST_M_STRESS_AUDIO_PLAYBACK_APLAY_STEREO_48KHz_01  source 'common.sh' ; do_cmd install_modules.sh 'usb'; do_cmd usb_audio_search_devices.sh play usb; audio_dev=`usb_audio_search_devices.sh play usb`; for i in {1..100}; do do_cmd 'aplay -Dplughw:'$audio_dev',0 -r 48000 -c 2 -f S16_LE /usr/share/sounds/alsa/Front_Center.wav'; done

USBHOST_M_STRESS_AUDIO_PLAYBACK_APLAY_MONO_48KHz_01  source 'common.sh' ; do_cmd install_modules.sh 'usb'; do_cmd usb_audio_search_devices.sh play usb; audio_dev=`usb_audio_search_devices.sh play usb`; for i in {1..100}; do do_cmd 'aplay -Dplughw:'$audio_dev',0 -r 48000 -c 1 -f S16_LE /usr/share/sounds/alsa/Front_Center.wav'; done

USBHOST_L_STRESS_AUDIO_PLAYBACK_APLAY_STEREO_48KHz_01  source 'common.sh' ; do_cmd install_modules.sh 'usb'; do_cmd usb_audio_search_devices.sh play usb; audio_dev=`usb_audio_search_devices.sh play usb`; for i in {1..1000}; do do_cmd 'aplay -Dplughw:'$audio_dev',0 -r 48000 -c 2 -f S16_LE /usr/share/sounds/alsa/Front_Center.wav'; done

#CAPTURE

USBHOST_S_FUNC_AUDIO_CAPTURE_ACCESSTYPE_NONINTER_01   source 'common.sh' ; do_cmd install_modules.sh 'usb'; do_cmd usb_audio_search_devices.sh record usb; audio_dev=`usb_audio_search_devices.sh record usb`; do_cmd 'alsa_tests.sh -D hw:'$audio_dev',0 -t capture -a 0 -F $HOME/USBHOST_S_FUN_AUDIO_CAP_ACC_TYPE_NONINTER_01.snd -f S16_LE -r 44100'

USBHOST_M_FUNC_AUDIO_CAPTURE_ACCESSTYPE_MMAP_01       source 'common.sh' ; do_cmd install_modules.sh 'usb'; do_cmd usb_audio_search_devices.sh record usb; audio_dev=`usb_audio_search_devices.sh record usb`; do_cmd 'alsa_tests.sh   -D hw:'$audio_dev',0  -t capture -a 1 -F $HOME/USBHOST_M_FUNC_AUDIO_CAPTURE_ACCESSTYPE_MMAP_01.snd -f S16_LE -r 44100'
