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

Commit 25356edd authored by Chen Chen's avatar Chen Chen Committed by Gerrit Code Review
Browse files

Merge "SpatialAudio: Add is_low_latency to startRequest and only handle it in a2dp"

parents e75cf65b e131563d
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -19,6 +19,7 @@


#include "a2dp_transport.h"
#include "a2dp_transport.h"
#include "audio_aidl_interfaces.h"
#include "audio_aidl_interfaces.h"
#include "btif/include/btif_common.h"
#include "codec_status_aidl.h"
#include "codec_status_aidl.h"
#include "transport_instance.h"
#include "transport_instance.h"


@@ -62,7 +63,7 @@ A2dpTransport::A2dpTransport(SessionType sessionType)
  remote_delay_report_ = 0;
  remote_delay_report_ = 0;
}
}


BluetoothAudioCtrlAck A2dpTransport::StartRequest() {
BluetoothAudioCtrlAck A2dpTransport::StartRequest(bool is_low_latency) {
  // Check if a previous request is not finished
  // Check if a previous request is not finished
  if (a2dp_pending_cmd_ == A2DP_CTRL_CMD_START) {
  if (a2dp_pending_cmd_ == A2DP_CTRL_CMD_START) {
    LOG(INFO) << __func__ << ": A2DP_CTRL_CMD_START in progress";
    LOG(INFO) << __func__ << ": A2DP_CTRL_CMD_START in progress";
@@ -95,6 +96,7 @@ BluetoothAudioCtrlAck A2dpTransport::StartRequest() {
      return a2dp_ack_to_bt_audio_ctrl_ack(A2DP_CTRL_ACK_PENDING);
      return a2dp_ack_to_bt_audio_ctrl_ack(A2DP_CTRL_ACK_PENDING);
    }
    }
    a2dp_pending_cmd_ = A2DP_CTRL_CMD_NONE;
    a2dp_pending_cmd_ = A2DP_CTRL_CMD_NONE;
    invoke_switch_codec_cb(is_low_latency);
    return a2dp_ack_to_bt_audio_ctrl_ack(A2DP_CTRL_ACK_SUCCESS);
    return a2dp_ack_to_bt_audio_ctrl_ack(A2DP_CTRL_ACK_SUCCESS);
  }
  }
  LOG(ERROR) << __func__ << ": AV stream is not ready to start";
  LOG(ERROR) << __func__ << ": AV stream is not ready to start";
+1 −1
Original line number Original line Diff line number Diff line
@@ -33,7 +33,7 @@ class A2dpTransport
 public:
 public:
  A2dpTransport(SessionType sessionType);
  A2dpTransport(SessionType sessionType);


  BluetoothAudioCtrlAck StartRequest() override;
  BluetoothAudioCtrlAck StartRequest(bool is_low_latency) override;


  BluetoothAudioCtrlAck SuspendRequest() override;
  BluetoothAudioCtrlAck SuspendRequest() override;


+1 −2
Original line number Original line Diff line number Diff line
@@ -34,8 +34,7 @@ BluetoothAudioPortImpl::~BluetoothAudioPortImpl() {}


ndk::ScopedAStatus BluetoothAudioPortImpl::startStream(bool is_low_latency) {
ndk::ScopedAStatus BluetoothAudioPortImpl::startStream(bool is_low_latency) {
  StopWatchLegacy stop_watch(__func__);
  StopWatchLegacy stop_watch(__func__);
  BluetoothAudioCtrlAck ack = transport_instance_->StartRequest();
  BluetoothAudioCtrlAck ack = transport_instance_->StartRequest(is_low_latency);
  invoke_switch_codec_cb(is_low_latency);
  if (ack != BluetoothAudioCtrlAck::PENDING) {
  if (ack != BluetoothAudioCtrlAck::PENDING) {
    auto aidl_retval =
    auto aidl_retval =
        provider_->streamStarted(BluetoothAudioCtrlAckToHalStatus(ack));
        provider_->streamStarted(BluetoothAudioCtrlAckToHalStatus(ack));
+1 −1
Original line number Original line Diff line number Diff line
@@ -46,7 +46,7 @@ class HearingAidTransport
        total_bytes_read_(0),
        total_bytes_read_(0),
        data_position_({}){};
        data_position_({}){};


  BluetoothAudioCtrlAck StartRequest() override {
  BluetoothAudioCtrlAck StartRequest(bool is_low_latency) override {
    LOG(INFO) << __func__;
    LOG(INFO) << __func__;
    if (stream_cb_.on_resume_(true)) {
    if (stream_cb_.on_resume_(true)) {
      return BluetoothAudioCtrlAck::SUCCESS_FINISHED;
      return BluetoothAudioCtrlAck::SUCCESS_FINISHED;
+6 −5
Original line number Original line Diff line number Diff line
@@ -73,7 +73,7 @@ LeAudioTransport::LeAudioTransport(void (*flush)(void),
      pcm_config_(std::move(pcm_config)),
      pcm_config_(std::move(pcm_config)),
      is_pending_start_request_(false){};
      is_pending_start_request_(false){};


BluetoothAudioCtrlAck LeAudioTransport::StartRequest() {
BluetoothAudioCtrlAck LeAudioTransport::StartRequest(bool is_low_latency) {
  LOG(INFO) << __func__;
  LOG(INFO) << __func__;


  if (stream_cb_.on_resume_(true)) {
  if (stream_cb_.on_resume_(true)) {
@@ -198,8 +198,8 @@ LeAudioSinkTransport::LeAudioSinkTransport(SessionType session_type,


LeAudioSinkTransport::~LeAudioSinkTransport() { delete transport_; }
LeAudioSinkTransport::~LeAudioSinkTransport() { delete transport_; }


BluetoothAudioCtrlAck LeAudioSinkTransport::StartRequest() {
BluetoothAudioCtrlAck LeAudioSinkTransport::StartRequest(bool is_low_latency) {
  return transport_->StartRequest();
  return transport_->StartRequest(is_low_latency);
}
}


BluetoothAudioCtrlAck LeAudioSinkTransport::SuspendRequest() {
BluetoothAudioCtrlAck LeAudioSinkTransport::SuspendRequest() {
@@ -270,8 +270,9 @@ LeAudioSourceTransport::LeAudioSourceTransport(SessionType session_type,


LeAudioSourceTransport::~LeAudioSourceTransport() { delete transport_; }
LeAudioSourceTransport::~LeAudioSourceTransport() { delete transport_; }


BluetoothAudioCtrlAck LeAudioSourceTransport::StartRequest() {
BluetoothAudioCtrlAck LeAudioSourceTransport::StartRequest(
  return transport_->StartRequest();
    bool is_low_latency) {
  return transport_->StartRequest(is_low_latency);
}
}


BluetoothAudioCtrlAck LeAudioSourceTransport::SuspendRequest() {
BluetoothAudioCtrlAck LeAudioSourceTransport::SuspendRequest() {
Loading