From 627b911d8ee93328921c05fc70edd57c3cccffb8 Mon Sep 17 00:00:00 2001 From: Nicolas Pennequin Date: Sun, 14 Oct 2007 21:09:53 +0200 Subject: [PATCH] Enable and correct audio_invalidate_tracks to make playlist reordering work This is still quite basic but it works OK. The problem is that all handles are closed when the playlist is modified, and no rebuffering is done, so there is room for improvement. --- apps/playback.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/apps/playback.c b/apps/playback.c index 1775e7c41..e7416773c 100644 --- a/apps/playback.c +++ b/apps/playback.c @@ -3372,8 +3372,7 @@ static void audio_play_start(size_t offset) /* Invalidates all but currently playing track. */ static void audio_invalidate_tracks(void) { -#if 0 - if (audio_have_tracks()) + if (audio_have_tracks()) { last_peek_offset = 0; playlist_end = false; @@ -3382,15 +3381,8 @@ static void audio_invalidate_tracks(void) /* Mark all other entries null (also buffered wrong metadata). */ audio_clear_track_entries(true); - /* If the current track is fully buffered, advance the write pointer */ - if (tracks[track_widx].filerem == 0) - track_widx = (track_widx + 1) & MAX_TRACK_MASK; - - buf_widx = RINGBUF_ADD(buf_ridx, CUR_TI->available); - - audio_read_next_metadata(); + track_widx = (track_widx + 1) & MAX_TRACK_MASK; } -#endif } static void audio_new_playlist(void) -- 2.11.4.GIT