From 9d6f2f71e89673d33ce5360d2ed7aab4da331bd0 Mon Sep 17 00:00:00 2001 From: Kevin Ahrendt Date: Thu, 19 Mar 2026 00:51:17 -0500 Subject: [PATCH] [speaker_source] Reshuffle playlist on repeat all restart (#14773) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../components/speaker_source/speaker_source_media_player.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/esphome/components/speaker_source/speaker_source_media_player.cpp b/esphome/components/speaker_source/speaker_source_media_player.cpp index 9d02ac9c74..2caab828fb 100644 --- a/esphome/components/speaker_source/speaker_source_media_player.cpp +++ b/esphome/components/speaker_source/speaker_source_media_player.cpp @@ -457,6 +457,9 @@ void SpeakerSourceMediaPlayer::process_control_queue_() { if (ps.playlist_index < ps.playlist.size()) { this->queue_play_current_(pipeline, ps.playlist_delay_ms); } else if (ps.repeat_mode == REPEAT_ALL && !ps.playlist.empty()) { + if (!ps.shuffle_indices.empty()) { + this->shuffle_playlist_(pipeline); + } ps.playlist_index = 0; this->queue_play_current_(pipeline, ps.playlist_delay_ms); }