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

Commit 2d68547c authored by Grzegorz Kołodziejczyk's avatar Grzegorz Kołodziejczyk
Browse files

broadcaster: Handle not ready to resume broadcast

A potential timing issue exists where an audio resume request could be
initiated before the broadcast transitions from a 'pending' to 'created'
state. To address this, the resume request should be cancelled at the
stack level, allowing the pending broadcast to be created successfully.

Bug: 378564463
Bug: 347204335
Flag: com.android.bluetooth.flags.leaudio_big_depends_on_audio_state
Test: atest bluetooth_test_broadcaster
Change-Id: I8ac7a3172cfc3725e45c2f765e96484b75fd17ef
parent 53743c63
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1369,6 +1369,13 @@ private:

      instance->audio_state_ = AudioState::ACTIVE;
      if (com::android::bluetooth::flags::leaudio_big_depends_on_audio_state()) {
        if (instance->broadcasts_.empty()) {
          log::warn("No broadcasts are ready to resume (pending: {} broadcasts)",
                    instance->pending_broadcasts_.size());
          instance->le_audio_source_hal_client_->CancelStreamingRequest();
          return;
        }

        instance->cancelBroadcastTimers();
        instance->UpdateAudioActiveStateInPublicAnnouncement();