@ -17,6 +17,7 @@
# include <string.h>
# define LOG_TAG "HalHidl"
# include <media/AudioContainers.h>
# include <media/AudioParameter.h>
# include <utils/Log.h>
@ -109,26 +110,22 @@ static std::string deviceAddressToHal(const DeviceAddress& address) {
char halAddress [ AUDIO_DEVICE_MAX_ADDRESS_LEN ] ;
memset ( halAddress , 0 , sizeof ( halAddress ) ) ;
audio_devices_t halDevice = static_cast < audio_devices_t > ( address . device ) ;
const bool isInput = ( halDevice & AUDIO_DEVICE_BIT_IN ) ! = 0 ;
if ( isInput ) halDevice & = ~ AUDIO_DEVICE_BIT_IN ;
if ( ( ! isInput & & ( halDevice & AUDIO_DEVICE_OUT_ALL_A2DP ) ! = 0 ) | |
( isInput & & ( halDevice & AUDIO_DEVICE_IN_BLUETOOTH_A2DP ) ! = 0 ) ) {
if ( getAudioDeviceOutAllA2dpSet ( ) . count ( halDevice ) > 0 | |
halDevice = = AUDIO_DEVICE_IN_BLUETOOTH_A2DP ) {
snprintf ( halAddress , sizeof ( halAddress ) , " %02X:%02X:%02X:%02X:%02X:%02X " ,
address . address . mac [ 0 ] , address . address . mac [ 1 ] , address . address . mac [ 2 ] ,
address . address . mac [ 3 ] , address . address . mac [ 4 ] , address . address . mac [ 5 ] ) ;
} else if ( ( ! isInput & & ( halDevice & AUDIO_DEVICE_OUT_IP ) ! = 0 ) | |
( isInput & & ( halDevice & AUDIO_DEVICE_IN_IP ) ! = 0 ) ) {
} else if ( halDevice = = AUDIO_DEVICE_OUT_IP | | halDevice = = AUDIO_DEVICE_IN_IP ) {
snprintf ( halAddress , sizeof ( halAddress ) , " %d.%d.%d.%d " , address . address . ipv4 [ 0 ] ,
address . address . ipv4 [ 1 ] , address . address . ipv4 [ 2 ] , address . address . ipv4 [ 3 ] ) ;
} else if ( ( ! isInput & & ( halDevice & AUDIO_DEVICE_OUT_ALL_USB ) ! = 0 ) | |
( isInput & & ( halDevice & AUDIO_DEVICE_IN_ALL_USB ) ! = 0 ) ) {
} else if ( getAudioDeviceOutAllUsbSet ( ) . count ( halDevice ) > 0 | |
getAudioDeviceInAllUsbSet ( ) . count ( halDevice ) > 0 ) {
snprintf ( halAddress , sizeof ( halAddress ) , " card=%d;device=%d " , address . address . alsa . card ,
address . address . alsa . device ) ;
} else if ( ( ! isInput & & ( halDevice & AUDIO_DEVICE_OUT_BUS ) ! = 0 ) | |
( isInput & & ( halDevice & AUDIO_DEVICE_IN_BUS ) ! = 0 ) ) {
} else if ( halDevice = = AUDIO_DEVICE_OUT_BUS | | halDevice = = AUDIO_DEVICE_IN_BUS ) {
snprintf ( halAddress , sizeof ( halAddress ) , " %s " , address . busAddress . c_str ( ) ) ;
} else if ( ( ! isInput & & ( halDevice & AUDIO_DEVICE_OUT_REMOTE_SUBMIX ) ) ! = 0 | |
( isInput & & ( halDevice & AUDIO_DEVICE_IN_REMOTE_SUBMIX ) ! = 0 ) ) {
} else if ( halDevice = = AUDIO_DEVICE_OUT_REMOTE_SUBMIX | |
halDevice = = AUDIO_DEVICE_IN_REMOTE_SUBMIX ) {
snprintf ( halAddress , sizeof ( halAddress ) , " %s " , address . rSubmixAddress . c_str ( ) ) ;
} else {
snprintf ( halAddress , sizeof ( halAddress ) , " %s " , address . busAddress . c_str ( ) ) ;