diff --git a/apps/playback.c b/apps/playback.c index e10c9e7314..2bde733ecf 100644 --- a/apps/playback.c +++ b/apps/playback.c @@ -940,7 +940,10 @@ static void audio_check_new_track(void) playlist_next(ci.new_track); if (new_playlist) + { ci.new_track = 1; + new_playlist = false; + } track_ridx+=ci.new_track; if (track_ridx >= MAX_TRACK) @@ -2095,6 +2098,9 @@ static void audio_new_playlist(void) close(current_fd); current_fd = -1; + /* Mark the current track as invalid to prevent skipping back to it */ + cur_ti->taginfo_ready = false; + /* Invalidate the buffer other than the playing track */ filebufused = cur_ti->available; buf_widx = buf_ridx + cur_ti->available;