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

Commit 49fe7aca 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
parent beb13bfc
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);