mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
Add HFP to BluetoothAudioSession am: aa70c11126 am: 0bcade6107
Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2806338 Change-Id: Ic228aeb47d5597b5d9c0819f45609e0dd9f35e23 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -41,7 +41,7 @@ namespace bluetooth {
|
||||
namespace audio {
|
||||
|
||||
static const PcmCapabilities kDefaultSoftwarePcmCapabilities = {
|
||||
.sampleRateHz = {16000, 24000, 32000, 44100, 48000, 88200, 96000},
|
||||
.sampleRateHz = {8000, 16000, 24000, 32000, 44100, 48000, 88200, 96000},
|
||||
.channelMode = {ChannelMode::MONO, ChannelMode::STEREO},
|
||||
.bitsPerSample = {16, 24, 32},
|
||||
.dataIntervalUs = {},
|
||||
|
||||
@@ -95,6 +95,8 @@ const AudioConfiguration BluetoothAudioSession::GetAudioConfig() {
|
||||
case SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH:
|
||||
case SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH:
|
||||
return AudioConfiguration(CodecConfiguration{});
|
||||
case SessionType::HFP_HARDWARE_OFFLOAD_DATAPATH:
|
||||
return AudioConfiguration(HfpConfiguration{});
|
||||
case SessionType::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH:
|
||||
case SessionType::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH:
|
||||
return AudioConfiguration(LeAudioConfiguration{});
|
||||
@@ -154,6 +156,7 @@ bool BluetoothAudioSession::IsSessionReady() {
|
||||
session_type_ ==
|
||||
SessionType::LE_AUDIO_BROADCAST_HARDWARE_OFFLOAD_ENCODING_DATAPATH ||
|
||||
session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH ||
|
||||
session_type_ == SessionType::HFP_HARDWARE_OFFLOAD_DATAPATH ||
|
||||
(data_mq_ != nullptr && data_mq_->isValid()));
|
||||
return stack_iface_ != nullptr && is_mq_valid && audio_config_ != nullptr;
|
||||
}
|
||||
@@ -275,6 +278,8 @@ bool BluetoothAudioSession::UpdateAudioConfig(
|
||||
bool is_software_session =
|
||||
(session_type_ == SessionType::A2DP_SOFTWARE_ENCODING_DATAPATH ||
|
||||
session_type_ == SessionType::HEARING_AID_SOFTWARE_ENCODING_DATAPATH ||
|
||||
session_type_ == SessionType::HFP_SOFTWARE_ENCODING_DATAPATH ||
|
||||
session_type_ == SessionType::HFP_SOFTWARE_DECODING_DATAPATH ||
|
||||
session_type_ == SessionType::LE_AUDIO_SOFTWARE_DECODING_DATAPATH ||
|
||||
session_type_ == SessionType::LE_AUDIO_SOFTWARE_ENCODING_DATAPATH ||
|
||||
session_type_ ==
|
||||
@@ -283,6 +288,8 @@ bool BluetoothAudioSession::UpdateAudioConfig(
|
||||
bool is_offload_a2dp_session =
|
||||
(session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH ||
|
||||
session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH);
|
||||
bool is_offload_hfp_session =
|
||||
session_type_ == SessionType::HFP_HARDWARE_OFFLOAD_DATAPATH;
|
||||
bool is_offload_le_audio_unicast_session =
|
||||
(session_type_ ==
|
||||
SessionType::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH ||
|
||||
@@ -298,6 +305,9 @@ bool BluetoothAudioSession::UpdateAudioConfig(
|
||||
bool is_a2dp_offload_audio_config =
|
||||
(is_offload_a2dp_session &&
|
||||
audio_config_tag == AudioConfiguration::a2dpConfig);
|
||||
bool is_hfp_offload_audio_config =
|
||||
(is_offload_hfp_session &&
|
||||
audio_config_tag == AudioConfiguration::hfpConfig);
|
||||
bool is_le_audio_offload_unicast_audio_config =
|
||||
(is_offload_le_audio_unicast_session &&
|
||||
audio_config_tag == AudioConfiguration::leAudioConfig);
|
||||
@@ -305,6 +315,7 @@ bool BluetoothAudioSession::UpdateAudioConfig(
|
||||
(is_offload_le_audio_broadcast_session &&
|
||||
audio_config_tag == AudioConfiguration::leAudioBroadcastConfig);
|
||||
if (!is_software_audio_config && !is_a2dp_offload_audio_config &&
|
||||
!is_hfp_offload_audio_config &&
|
||||
!is_le_audio_offload_unicast_audio_config &&
|
||||
!is_le_audio_offload_broadcast_audio_config) {
|
||||
return false;
|
||||
|
||||
@@ -84,6 +84,8 @@ class BluetoothAudioSessionControl {
|
||||
case SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH:
|
||||
case SessionType::A2DP_HARDWARE_OFFLOAD_DECODING_DATAPATH:
|
||||
return AudioConfiguration(CodecConfiguration{});
|
||||
case SessionType::HFP_HARDWARE_OFFLOAD_DATAPATH:
|
||||
return AudioConfiguration(HfpConfiguration{});
|
||||
case SessionType::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH:
|
||||
case SessionType::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH:
|
||||
return AudioConfiguration(LeAudioConfiguration{});
|
||||
|
||||
@@ -475,6 +475,8 @@ inline AudioConfig_2_1 to_hidl_audio_config_2_1(
|
||||
hidl_audio_config.leAudioCodecConfig(to_hidl_leaudio_broadcast_config_2_1(
|
||||
audio_config.get<AudioConfiguration::leAudioBroadcastConfig>()));
|
||||
break;
|
||||
default:
|
||||
LOG(FATAL) << __func__ << ": unexpected AudioConfiguration";
|
||||
}
|
||||
return hidl_audio_config;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user