Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7cdf8325 authored by Chen Chen's avatar Chen Chen
Browse files

Spatial Audio: Move setLowLatencyModeAllowed from hidl to aidl

Bug: 214615268
Tag: #feature
Test: build
Change-Id: I37d1ae3408d2ca7ce11d917b1173abb56bde8e76
parent 63063762
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -39,4 +39,5 @@ interface IBluetoothAudioProvider {
  void streamStarted(in android.hardware.bluetooth.audio.BluetoothAudioStatus status);
  void streamStarted(in android.hardware.bluetooth.audio.BluetoothAudioStatus status);
  void streamSuspended(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 updateAudioConfiguration(in android.hardware.bluetooth.audio.AudioConfiguration audioConfig);
  void setLowLatencyModeAllowed(in boolean allowed);
}
}
+8 −0
Original line number Original line Diff line number Diff line
@@ -82,4 +82,12 @@ interface IBluetoothAudioProvider {
     *    encoding.
     *    encoding.
     */
     */
    void updateAudioConfiguration(in AudioConfiguration audioConfig);
    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);
}
}
+13 −0
Original line number Original line Diff line number Diff line
@@ -121,6 +121,19 @@ ndk::ScopedAStatus BluetoothAudioProvider::updateAudioConfiguration(
  return ndk::ScopedAStatus::ok();
  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) {
void BluetoothAudioProvider::binderDiedCallbackAidl(void* ptr) {
  LOG(ERROR) << __func__ << " - BluetoothAudio Service died";
  LOG(ERROR) << __func__ << " - BluetoothAudio Service died";
  auto provider = static_cast<BluetoothAudioProvider*>(ptr);
  auto provider = static_cast<BluetoothAudioProvider*>(ptr);
+1 −0
Original line number Original line Diff line number Diff line
@@ -46,6 +46,7 @@ class BluetoothAudioProvider : public BnBluetoothAudioProvider {
  ndk::ScopedAStatus streamSuspended(BluetoothAudioStatus status);
  ndk::ScopedAStatus streamSuspended(BluetoothAudioStatus status);
  ndk::ScopedAStatus updateAudioConfiguration(
  ndk::ScopedAStatus updateAudioConfiguration(
      const AudioConfiguration& audio_config);
      const AudioConfiguration& audio_config);
  ndk::ScopedAStatus setLowLatencyModeAllowed(bool allowed);


  virtual bool isValid(const SessionType& sessionType) = 0;
  virtual bool isValid(const SessionType& sessionType) = 0;