diff --git a/bluetooth/audio/utils/aidl_session/BluetoothAudioSession.cpp b/bluetooth/audio/utils/aidl_session/BluetoothAudioSession.cpp index a458c5ba63..c62784e47f 100644 --- a/bluetooth/audio/utils/aidl_session/BluetoothAudioSession.cpp +++ b/bluetooth/audio/utils/aidl_session/BluetoothAudioSession.cpp @@ -145,6 +145,13 @@ void BluetoothAudioSession::ReportAudioConfigChanged( << toString(session_type_); return; } + } else if (session_type_ == SessionType::HFP_SOFTWARE_DECODING_DATAPATH || + session_type_ == SessionType::HFP_SOFTWARE_ENCODING_DATAPATH) { + if (audio_config.getTag() != AudioConfiguration::pcmConfig) { + LOG(ERROR) << __func__ << " invalid audio config type for SessionType =" + << toString(session_type_); + return; + } } else { LOG(ERROR) << __func__ << " invalid SessionType =" << toString(session_type_); @@ -166,6 +173,13 @@ void BluetoothAudioSession::ReportAudioConfigChanged( << toString(session_type_); return; } + } else if (session_type_ == SessionType::HFP_SOFTWARE_DECODING_DATAPATH || + session_type_ == SessionType::HFP_SOFTWARE_ENCODING_DATAPATH) { + if (audio_config.getTag() != AudioConfiguration::pcmConfig) { + LOG(ERROR) << __func__ << " invalid audio config type for SessionType =" + << toString(session_type_); + return; + } } else { LOG(ERROR) << __func__ << " invalid SessionType =" << toString(session_type_); @@ -604,7 +618,9 @@ bool BluetoothAudioSession::UpdateSourceMetadata( if (session_type_ == SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH || session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH || session_type_ == SessionType::A2DP_SOFTWARE_DECODING_DATAPATH || - session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH) { + session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH || + session_type_ == SessionType::HFP_SOFTWARE_ENCODING_DATAPATH || + session_type_ == SessionType::HFP_SOFTWARE_DECODING_DATAPATH) { return false; } @@ -629,7 +645,9 @@ bool BluetoothAudioSession::UpdateSinkMetadata( if (session_type_ == SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH || session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH || session_type_ == SessionType::A2DP_SOFTWARE_DECODING_DATAPATH || - session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH) { + session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH || + session_type_ == SessionType::HFP_SOFTWARE_ENCODING_DATAPATH || + session_type_ == SessionType::HFP_SOFTWARE_DECODING_DATAPATH) { return false; }