mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 11:36:00 +00:00
BTAudio: report session ended after cleaning up
While Bluetooth stack ending a session, this CL does clean up first, and then reports the change. All observers are able to get the correct session state by invoking IsSessionReady() within the change callback. Bug: 162065063 Test: manually Change-Id: I920ea578d626d2e5844eb7c8a701636e20d7a219
This commit is contained in:
@@ -90,14 +90,16 @@ void BluetoothAudioSession::OnSessionStarted(
|
||||
// bluetooth_audio outputs
|
||||
void BluetoothAudioSession::OnSessionEnded() {
|
||||
std::lock_guard<std::recursive_mutex> guard(mutex_);
|
||||
if (IsSessionReady()) {
|
||||
ReportSessionStatus();
|
||||
}
|
||||
bool toggled = IsSessionReady();
|
||||
LOG(INFO) << __func__ << " - SessionType=" << toString(session_type_);
|
||||
audio_config_ = (session_type_ == SessionType::A2DP_HARDWARE_OFFLOAD_DATAPATH
|
||||
? kInvalidOffloadAudioConfiguration
|
||||
: kInvalidSoftwareAudioConfiguration);
|
||||
stack_iface_ = nullptr;
|
||||
UpdateDataPath(nullptr);
|
||||
if (toggled) {
|
||||
ReportSessionStatus();
|
||||
}
|
||||
}
|
||||
|
||||
// invoking the registered session_changed_cb_
|
||||
|
||||
Reference in New Issue
Block a user