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

Commit 7b85bfb9 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Start session and update audio configuration for LE audio offload" am: b07893e9

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

Change-Id: I0e8d0e977e98ee1bba0480dddfddfe6c9ff940e7
parents e074bdee b07893e9
Loading
Loading
Loading
Loading
+24 −8
Original line number Diff line number Diff line
@@ -685,18 +685,29 @@ bool BluetoothAudioClientInterface::UpdateAudioConfig_2_2(
           SessionType_2_1::LE_AUDIO_SOFTWARE_ENCODING_DATAPATH ||
       transport_->GetSessionType_2_1() ==
           SessionType_2_1::LE_AUDIO_SOFTWARE_DECODED_DATAPATH);
  bool is_offload_session = (transport_->GetSessionType_2_1() ==
  bool is_a2dp_offload_session =
      (transport_->GetSessionType_2_1() ==
       SessionType_2_1::A2DP_HARDWARE_OFFLOAD_DATAPATH);
  bool is_leaudio_offload_session =
      (transport_->GetSessionType_2_1() ==
           SessionType_2_1::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH ||
       transport_->GetSessionType_2_1() ==
           SessionType_2_1::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH);
  auto audio_config_discriminator = audio_config_2_2.getDiscriminator();
  bool is_software_audio_config =
      (is_software_session &&
       audio_config_discriminator ==
           AudioConfiguration_2_2::hidl_discriminator::pcmConfig);
  bool is_offload_audio_config =
      (is_offload_session &&
  bool is_a2dp_offload_audio_config =
      (is_a2dp_offload_session &&
       audio_config_discriminator ==
           AudioConfiguration_2_2::hidl_discriminator::codecConfig);
  if (!is_software_audio_config && !is_offload_audio_config) {
  bool is_leaudio_offload_audio_config =
      (is_leaudio_offload_session &&
       audio_config_discriminator ==
           AudioConfiguration_2_2::hidl_discriminator::leAudioConfig);
  if (!is_software_audio_config && !is_a2dp_offload_audio_config &&
      !is_leaudio_offload_audio_config) {
    return false;
  }

@@ -865,8 +876,13 @@ int BluetoothAudioClientInterface::StartSession_2_2() {

  if (tempDataMQ && tempDataMQ->isValid()) {
    mDataMQ = std::move(tempDataMQ);
  } else if (transport_->GetSessionType_2_1() ==
                 SessionType_2_1::A2DP_HARDWARE_OFFLOAD_DATAPATH &&
  } else if (
      (transport_->GetSessionType_2_1() ==
           SessionType_2_1::A2DP_HARDWARE_OFFLOAD_DATAPATH ||
       transport_->GetSessionType_2_1() ==
           SessionType_2_1::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH ||
       transport_->GetSessionType_2_1() ==
           SessionType_2_1::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH) &&
      session_status == BluetoothAudioStatus::SUCCESS) {
    transport_->ResetPresentationPosition();
    session_started_ = true;