Merge "bluetooth.audio@2.1: add handle IsSessionReady for LE offload encoder" am: 05e6b870a4

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/1729161

Change-Id: I224390449b7aadced9c436e2081b688680dfa03d
This commit is contained in:
Treehugger Robot 2021-06-10 07:39:05 +00:00 committed by Automerger Merge Worker
commit b358dd9da1
3 changed files with 18 additions and 2 deletions

View file

@ -35,7 +35,7 @@ class BluetoothAudioSessionControl_2_1 {
std::shared_ptr<BluetoothAudioSession_2_1> session_ptr =
BluetoothAudioSessionInstance_2_1::GetSessionInstance(session_type);
if (session_ptr != nullptr) {
return session_ptr->GetAudioSession()->IsSessionReady();
return session_ptr->IsSessionReady();
}
return false;
}

View file

@ -60,6 +60,18 @@ BluetoothAudioSession_2_1::BluetoothAudioSession_2_1(
}
}
bool BluetoothAudioSession_2_1::IsSessionReady() {
LOG(WARNING) << __func__ << " session_type: " << toString(session_type_2_1_);
if (session_type_2_1_ !=
SessionType_2_1::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH) {
return audio_session->IsSessionReady();
}
std::lock_guard<std::recursive_mutex> guard(audio_session->mutex_);
return audio_session->stack_iface_ != nullptr;
}
std::shared_ptr<BluetoothAudioSession>
BluetoothAudioSession_2_1::GetAudioSession() {
return audio_session;
@ -70,7 +82,7 @@ BluetoothAudioSession_2_1::GetAudioSession() {
const ::android::hardware::bluetooth::audio::V2_1::AudioConfiguration
BluetoothAudioSession_2_1::GetAudioConfig() {
std::lock_guard<std::recursive_mutex> guard(audio_session->mutex_);
if (audio_session->IsSessionReady()) {
if (IsSessionReady()) {
// If session is unknown it means it should be 2.0 type
if (session_type_2_1_ != SessionType_2_1::UNKNOWN)
return audio_config_2_1_;

View file

@ -50,6 +50,10 @@ class BluetoothAudioSession_2_1 {
const ::android::hardware::bluetooth::audio::V2_1::SessionType&
session_type);
// The function helps to check if this session is ready or not
// @return: true if the Bluetooth stack has started the specified session
bool IsSessionReady();
std::shared_ptr<BluetoothAudioSession> GetAudioSession();
// The report function is used to report that the Bluetooth stack has started