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

Commit 563ce449 authored by Jeremy Wu's avatar Jeremy Wu Committed by Automerger Merge Worker
Browse files

Merge changes Ia7b7b1d9,I0103856f,I45fa4309,Ib3fab843,Ic171b996, ... into main...

Merge changes Ia7b7b1d9,I0103856f,I45fa4309,Ib3fab843,Ic171b996, ... into main am: dd69f603 am: ad0f03d4

Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/3115479



Change-Id: I93e2df0144fdd28b99d124a8a7cc98016e0f3afb
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 2c95147a ad0f03d4
Loading
Loading
Loading
Loading
+18 −6
Original line number Diff line number Diff line
@@ -86,6 +86,8 @@ bool HostStartRequest() {
    return false;
  }

  host::le_audio::LeAudioSinkTransport::stream_started =
      btle_stream_started_status::IDLE;
  host::le_audio::LeAudioSinkTransport::instance->ResetPresentationPosition();
  return host::le_audio::LeAudioSinkTransport::instance->StartRequest();
}
@@ -125,6 +127,8 @@ bool PeerStartRequest() {
    return false;
  }

  host::le_audio::LeAudioSourceTransport::stream_started =
      btle_stream_started_status::IDLE;
  host::le_audio::LeAudioSourceTransport::instance->ResetPresentationPosition();
  return host::le_audio::LeAudioSourceTransport::instance->StartRequest();
}
@@ -157,11 +161,11 @@ btle_pcm_parameters GetPeerPcmConfig() {
  return pcm_config;
}

bool GetHostStreamStarted() {
btle_stream_started_status GetHostStreamStarted() {
  return host::le_audio::LeAudioSinkTransport::stream_started;
}

bool GetPeerStreamStarted() {
btle_stream_started_status GetPeerStreamStarted() {
  return host::le_audio::LeAudioSourceTransport::stream_started;
}

@@ -248,7 +252,8 @@ void LeAudioClientInterface::Sink::StopSession() {
    host::le_audio::LeAudioSinkTransport::instance->ClearStartRequestState();
  }

  host::le_audio::LeAudioSinkTransport::stream_started = false;
  host::le_audio::LeAudioSinkTransport::stream_started =
      btle_stream_started_status::IDLE;
}

void LeAudioClientInterface::Sink::ConfirmStreamingRequest() {
@@ -275,7 +280,8 @@ void LeAudioClientInterface::Sink::ConfirmStreamingRequest() {
      log::info("Response after sending PENDING to audio HAL");
      instance->ClearStartRequestState();
      lea_data_path_open();
      host::le_audio::LeAudioSinkTransport::stream_started = true;
      host::le_audio::LeAudioSinkTransport::stream_started =
          btle_stream_started_status::STARTED;
      return;
    case StartRequestState::CONFIRMED:
    case StartRequestState::CANCELED:
@@ -310,6 +316,8 @@ void LeAudioClientInterface::Sink::CancelStreamingRequest() {
    case StartRequestState::PENDING_AFTER_RESUME:
      log::info("Response after sending PENDING to audio HAL");
      instance->ClearStartRequestState();
      host::le_audio::LeAudioSinkTransport::stream_started =
          btle_stream_started_status::CANCELED;
      return;
    case StartRequestState::CONFIRMED:
    case StartRequestState::CANCELED:
@@ -411,7 +419,8 @@ void LeAudioClientInterface::Source::StopSession() {
    host::le_audio::LeAudioSourceTransport::instance->ClearStartRequestState();
  }

  host::le_audio::LeAudioSourceTransport::stream_started = false;
  host::le_audio::LeAudioSourceTransport::stream_started =
      btle_stream_started_status::IDLE;
}

void LeAudioClientInterface::Source::ConfirmStreamingRequest() {
@@ -438,7 +447,8 @@ void LeAudioClientInterface::Source::ConfirmStreamingRequest() {
      log::info("Response after sending PENDING to audio HAL");
      instance->ClearStartRequestState();
      lea_data_path_open();
      host::le_audio::LeAudioSourceTransport::stream_started = true;
      host::le_audio::LeAudioSourceTransport::stream_started =
          btle_stream_started_status::STARTED;
      return;
    case StartRequestState::CONFIRMED:
    case StartRequestState::CANCELED:
@@ -473,6 +483,8 @@ void LeAudioClientInterface::Source::CancelStreamingRequest() {
    case StartRequestState::PENDING_AFTER_RESUME:
      log::info("Response after sending PENDING to audio HAL");
      instance->ClearStartRequestState();
      host::le_audio::LeAudioSourceTransport::stream_started =
          btle_stream_started_status::CANCELED;
      return;
    case StartRequestState::CANCELED:
    case StartRequestState::CONFIRMED:
+16 −4
Original line number Diff line number Diff line
@@ -38,6 +38,12 @@ struct btle_pcm_parameters {
  uint8_t channels_count;
};

enum class btle_stream_started_status : int32_t {
  CANCELED = -1,
  IDLE = 0,
  STARTED = 1,
};

// Invoked by audio server when it has audio data to stream.
// Returns whether the start request has been made successfully.
bool HostStartRequest();
@@ -45,8 +51,11 @@ bool HostStartRequest();
// Invoked by audio server when audio streaming is done.
void HostStopRequest();

// Returns whether the host stream has started.
bool GetHostStreamStarted();
// Whether the peer stream has started.
// Returns 1, when the stream has started,
//         -1, when the previous request has been cancelled,
//         0, otherwise.
btle_stream_started_status GetHostStreamStarted();

// Returns the current host audio config.
btle_pcm_parameters GetHostPcmConfig();
@@ -61,8 +70,11 @@ bool PeerStartRequest();
// Invoked by audio server when audio streaming is done.
void PeerStopRequest();

// Returns whether the peer stream has started.
bool GetPeerStreamStarted();
// Whether the peer stream has started.
// Returns 1, when the stream has started,
//         -1, when the previous request has been cancelled,
//         0, otherwise.
btle_stream_started_status GetPeerStreamStarted();

// Returns the current peer audio config.
btle_pcm_parameters GetPeerPcmConfig();
+9 −0
Original line number Diff line number Diff line
@@ -155,10 +155,13 @@ void LeAudioTransport::LeAudioSetSelectedHalPcmConfig(uint32_t sample_rate_hz,
StartRequestState LeAudioTransport::GetStartRequestState(void) {
  return start_request_state_;
}

void LeAudioTransport::ClearStartRequestState(void) {
  log::verbose("");
  start_request_state_ = StartRequestState::IDLE;
  remote_delay_report_ms_ = 0;
}

void LeAudioTransport::SetStartRequestState(StartRequestState state) {
  start_request_state_ = state;
}
@@ -243,9 +246,12 @@ void LeAudioSinkTransport::LeAudioSetSelectedHalPcmConfig(
StartRequestState LeAudioSinkTransport::GetStartRequestState(void) {
  return transport_->GetStartRequestState();
}

void LeAudioSinkTransport::ClearStartRequestState(void) {
  log::verbose("");
  transport_->ClearStartRequestState();
}

void LeAudioSinkTransport::SetStartRequestState(StartRequestState state) {
  transport_->SetStartRequestState(state);
}
@@ -312,9 +318,12 @@ void LeAudioSourceTransport::LeAudioSetSelectedHalPcmConfig(
StartRequestState LeAudioSourceTransport::GetStartRequestState(void) {
  return transport_->GetStartRequestState();
}

void LeAudioSourceTransport::ClearStartRequestState(void) {
  log::verbose("");
  transport_->ClearStartRequestState();
}

void LeAudioSourceTransport::SetStartRequestState(StartRequestState state) {
  transport_->SetStartRequestState(state);
}
+5 −2
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ namespace le_audio {
using ::bluetooth::le_audio::set_configurations::AudioSetConfiguration;
using ::bluetooth::le_audio::set_configurations::CodecConfigSetting;

using ::bluetooth::audio::le_audio::btle_stream_started_status;
using ::bluetooth::audio::le_audio::LeAudioClientInterface;
using ::bluetooth::audio::le_audio::StartRequestState;
using ::bluetooth::audio::le_audio::StreamCallbacks;
@@ -119,7 +120,8 @@ class LeAudioSinkTransport {
  void SetStartRequestState(StartRequestState state);

  static inline LeAudioSinkTransport* instance = nullptr;
  static inline bool stream_started = false;
  static inline btle_stream_started_status stream_started =
      btle_stream_started_status::IDLE;

 private:
  LeAudioTransport* transport_;
@@ -162,7 +164,8 @@ class LeAudioSourceTransport {
  void SetStartRequestState(StartRequestState state);

  static inline LeAudioSourceTransport* instance = nullptr;
  static inline bool stream_started = false;
  static inline btle_stream_started_status stream_started =
      btle_stream_started_status::IDLE;

 private:
  LeAudioTransport* transport_;
+2 −0
Original line number Diff line number Diff line
@@ -1466,6 +1466,8 @@ impl IBluetoothMediaCallback for MediaCallback {
    ) {
    }
    fn on_lea_group_stream_status(&mut self, _group_id: i32, _status: BtLeAudioGroupStreamStatus) {}
    fn on_lea_vc_connected(&mut self, _addr: RawAddress, _group_id: i32) {}
    fn on_lea_group_volume_changed(&mut self, _group_id: i32, _volume: u8) {}
    fn on_bluetooth_audio_device_added(&mut self, _device: BluetoothAudioDevice) {}
    fn on_bluetooth_audio_device_removed(&mut self, _addr: RawAddress) {}
    fn on_absolute_volume_supported_changed(&mut self, _supported: bool) {}
Loading