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

Commit 192b1dc2 authored by Alice Kuo's avatar Alice Kuo
Browse files

Check the broadcast offload audio configuraiton and session type

We should check the audio configuration mapping is correct for the
unicast and the broadcast offload session respectively

Bug: 210987580
Test: start the broadcast for the offload, check the configuration
checker

Change-Id: I49269a504fc423d03826657ad363cfe9ca09bfcd
Merged-In: I49269a504fc423d03826657ad363cfe9ca09bfcd
(cherry picked from commit 49fe7aca)
parent 430b271c
Loading
Loading
Loading
Loading
+12 −7
Original line number Diff line number Diff line
@@ -201,12 +201,13 @@ bool BluetoothAudioClientInterface::UpdateAudioConfig(
  bool is_a2dp_offload_session =
      (transport_->GetSessionType() ==
       SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH);
  bool is_leaudio_offload_session =
  bool is_leaudio_unicast_offload_session =
      (transport_->GetSessionType() ==
           SessionType::LE_AUDIO_HARDWARE_OFFLOAD_ENCODING_DATAPATH ||
       transport_->GetSessionType() ==
           SessionType::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH ||
       transport_->GetSessionType() ==
           SessionType::LE_AUDIO_HARDWARE_OFFLOAD_DECODING_DATAPATH);
  bool is_leaudio_broadcast_offload_session =
      (transport_->GetSessionType() ==
       SessionType::LE_AUDIO_BROADCAST_HARDWARE_OFFLOAD_ENCODING_DATAPATH);
  auto audio_config_tag = audio_config.getTag();
  bool is_software_audio_config =
@@ -215,11 +216,15 @@ bool BluetoothAudioClientInterface::UpdateAudioConfig(
  bool is_a2dp_offload_audio_config =
      (is_a2dp_offload_session &&
       audio_config_tag == AudioConfiguration::a2dpConfig);
  bool is_leaudio_offload_audio_config =
      (is_leaudio_offload_session &&
  bool is_leaudio_unicast_offload_audio_config =
      (is_leaudio_unicast_offload_session &&
       audio_config_tag == AudioConfiguration::leAudioConfig);
  bool is_leaudio_broadcast_offload_audio_config =
      (is_leaudio_broadcast_offload_session &&
       audio_config_tag == AudioConfiguration::leAudioBroadcastConfig);
  if (!is_software_audio_config && !is_a2dp_offload_audio_config &&
      !is_leaudio_offload_audio_config) {
      !is_leaudio_unicast_offload_audio_config &&
      !is_leaudio_broadcast_offload_audio_config) {
    return false;
  }
  transport_->UpdateAudioConfiguration(audio_config);