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

Commit 79d7e627 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix incorrect 16_2 configuration selection based on capabilities order"...

Merge "Fix incorrect 16_2 configuration selection based on capabilities order" into main am: 033213d6 am: efe2ca8c

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



Change-Id: I266542877d60f1b5964dea98e3cc89dd029289cf
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 341c1cf5 efe2ca8c
Loading
Loading
Loading
Loading
+26 −30
Original line number Diff line number Diff line
@@ -306,44 +306,40 @@ struct codec_manager_impl {
     */
    broadcast_target_config = -1;
    for (int i = 0; i < (int)supported_broadcast_config.size(); i++) {
      if (supported_broadcast_config[i].sampling_rate == 48000u) {
        if (preferred_quality == bluetooth::le_audio::QUALITY_STANDARD)
          continue;

        if (supported_broadcast_config[i].octets_per_frame == 120) {  // 48_4
      if (preferred_quality == bluetooth::le_audio::QUALITY_STANDARD) {
        if (supported_broadcast_config[i].sampling_rate == 24000u &&
            supported_broadcast_config[i].octets_per_frame == 60) {  // 24_2
          broadcast_target_config = i;
          break;
        } else if (supported_broadcast_config[i].octets_per_frame ==
                   100) {  // 48_2
        }

        if (supported_broadcast_config[i].sampling_rate == 16000u &&
            supported_broadcast_config[i].octets_per_frame == 40) {  // 16_2
          broadcast_target_config = i;
        }
      } else if (supported_broadcast_config[i].sampling_rate == 24000u &&
                 supported_broadcast_config[i].octets_per_frame ==
                     60) {  // 24_2
        if (preferred_quality == bluetooth::le_audio::QUALITY_STANDARD) {

        continue;
      }

      // perferred_quality = bluetooth::le_audio::QUALITY_HIGH
      if (supported_broadcast_config[i].sampling_rate == 48000u &&
          supported_broadcast_config[i].octets_per_frame == 120) {  // 48_4
        broadcast_target_config = i;
        break;
        } else if (broadcast_target_config ==
                   -1) {  // preferred_quality is QUALITY_HIGH, and
                          // haven't get the 48_4 or 48_2
          broadcast_target_config = i;
      }
      } else if (supported_broadcast_config[i].sampling_rate == 16000u &&
                 supported_broadcast_config[i].octets_per_frame ==
                     40) {  // 16_2
        if (preferred_quality == bluetooth::le_audio::QUALITY_STANDARD) {
          broadcast_target_config = i;
        } else if (broadcast_target_config == -1 ||
                   (supported_broadcast_config[broadcast_target_config]
                            .sampling_rate != 24000u &&
                    supported_broadcast_config[broadcast_target_config]
                            .sampling_rate !=
                        48000u)) {  // preferred_quality is QUALITY_HIGH, and
                                    // haven't get the 48_4 or 48_2 or 24_2

      if ((supported_broadcast_config[i].sampling_rate == 48000u &&
           supported_broadcast_config[i].octets_per_frame == 100) ||  // 48_2
          (supported_broadcast_config[i].sampling_rate == 24000u &&
           supported_broadcast_config[i].octets_per_frame == 60) ||  // 24_2
          (supported_broadcast_config[i].sampling_rate == 16000u &&
           supported_broadcast_config[i].octets_per_frame == 40)) {  // 16_2
        if (broadcast_target_config == -1 ||
            (supported_broadcast_config[i].sampling_rate >
             supported_broadcast_config[broadcast_target_config].sampling_rate))
          broadcast_target_config = i;
      }
    }
    }

    if (broadcast_target_config == -1) {
      LOG_ERROR(