From ab279dd6bfbe8650463c4116133ffe04ccb2d3f1 Mon Sep 17 00:00:00 2001 From: Miika Pekkarinen Date: Thu, 3 Aug 2006 07:29:19 +0000 Subject: Stop playback before updating runtime stats. And yield codecs while storing the stats to db to prevent skipping. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10427 a1c6a512-1295-4272-9138-f99709370657 --- apps/playback.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'apps/playback.c') diff --git a/apps/playback.c b/apps/playback.c index 9a7c9e2bf6..f23c8126d4 100644 --- a/apps/playback.c +++ b/apps/playback.c @@ -1917,8 +1917,11 @@ static void audio_clear_track_entries( /* If there is an unbuffer callback, call it, otherwise, * just clear the track */ if (track_unbuffer_callback) + { + yield_codecs(); track_unbuffer_callback(&tracks[last_idx].id3, false); - + } + memset(&tracks[last_idx], 0, sizeof(struct track_info)); } last_idx = cur_idx; @@ -1982,6 +1985,7 @@ static void audio_stop_playback(void) } /* Mark all entries null. */ + audio_clear_track_entries(true, false); memset(tracks, 0, sizeof(struct track_info) * MAX_TRACK); } @@ -2335,7 +2339,6 @@ void audio_thread(void) case Q_AUDIO_STOP: logf("audio_stop"); - audio_clear_track_entries(true, false); audio_stop_playback(); break ; -- cgit v1.2.3