commit | 7cdf8325e921678384145005dc2b20103dd11f8d | [log] [tgz] |
---|---|---|
author | Chen Chen <cncn@google.com> | Tue Feb 08 13:24:11 2022 -0800 |
committer | Chen Chen <cncn@google.com> | Tue Feb 08 13:24:15 2022 -0800 |
tree | c70f002ca9439d0691cbe97261db43cbfe488788 | |
parent | 630637627f1d41acc6e96c9de6506a8dd12c2ecb [diff] |
Spatial Audio: Move setLowLatencyModeAllowed from hidl to aidl Bug: 214615268 Tag: #feature Test: build Change-Id: I37d1ae3408d2ca7ce11d917b1173abb56bde8e76
diff --git a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/current/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/current/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl index 0dcba2e..6e0bd98 100644 --- a/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/current/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl +++ b/bluetooth/audio/aidl/aidl_api/android.hardware.bluetooth.audio/current/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl
@@ -39,4 +39,5 @@ void streamStarted(in android.hardware.bluetooth.audio.BluetoothAudioStatus status); void streamSuspended(in android.hardware.bluetooth.audio.BluetoothAudioStatus status); void updateAudioConfiguration(in android.hardware.bluetooth.audio.AudioConfiguration audioConfig); + void setLowLatencyModeAllowed(in boolean allowed); }
diff --git a/bluetooth/audio/aidl/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl b/bluetooth/audio/aidl/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl index 6f88f30..ca6f691 100644 --- a/bluetooth/audio/aidl/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl +++ b/bluetooth/audio/aidl/android/hardware/bluetooth/audio/IBluetoothAudioProvider.aidl
@@ -82,4 +82,12 @@ * encoding. */ void updateAudioConfiguration(in AudioConfiguration audioConfig); + + /** + * Called when the supported latency mode is updated. + * + * @param allowed If the peripheral devices can't keep up with low latency + * mode, the API will be called with supported is false. + */ + void setLowLatencyModeAllowed(in boolean allowed); }
diff --git a/bluetooth/audio/aidl/default/BluetoothAudioProvider.cpp b/bluetooth/audio/aidl/default/BluetoothAudioProvider.cpp index c2ffa2e..54e82d1 100644 --- a/bluetooth/audio/aidl/default/BluetoothAudioProvider.cpp +++ b/bluetooth/audio/aidl/default/BluetoothAudioProvider.cpp
@@ -121,6 +121,19 @@ return ndk::ScopedAStatus::ok(); } +ndk::ScopedAStatus BluetoothAudioProvider::setLowLatencyModeAllowed( + bool allowed) { + LOG(INFO) << __func__ << " - SessionType=" << toString(session_type_); + + if (stack_iface_ == nullptr) { + LOG(INFO) << __func__ << " - SessionType=" << toString(session_type_) + << " has NO session"; + return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); + } + LOG(INFO) << __func__ << " - allowed " << allowed; + return ndk::ScopedAStatus::ok(); +} + void BluetoothAudioProvider::binderDiedCallbackAidl(void* ptr) { LOG(ERROR) << __func__ << " - BluetoothAudio Service died"; auto provider = static_cast<BluetoothAudioProvider*>(ptr);
diff --git a/bluetooth/audio/aidl/default/BluetoothAudioProvider.h b/bluetooth/audio/aidl/default/BluetoothAudioProvider.h index f7acbdf..393aaba 100644 --- a/bluetooth/audio/aidl/default/BluetoothAudioProvider.h +++ b/bluetooth/audio/aidl/default/BluetoothAudioProvider.h
@@ -46,6 +46,7 @@ ndk::ScopedAStatus streamSuspended(BluetoothAudioStatus status); ndk::ScopedAStatus updateAudioConfiguration( const AudioConfiguration& audio_config); + ndk::ScopedAStatus setLowLatencyModeAllowed(bool allowed); virtual bool isValid(const SessionType& sessionType) = 0;