Add support for HFP_SOFTWARE_DATAPATH session type

Bug: 349290628
Bug: 315234036
Test: m packages/modules/Bluetooth
Flag: com::android::bluetooth::flags::is_sco_managed_by_audio and HFP session type only enabled when flag is enabled
Change-Id: I952f8baf347084d57162fdfd767259157f39962e
This commit is contained in:
Jeremy Wu
2024-09-16 07:11:51 +00:00
parent 53e667adc6
commit cd019230f3

View File

@@ -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;
}