diff options
| author | Miika Pekkarinen <miipekk@ihme.org> | 2005-07-17 15:35:17 +0000 |
|---|---|---|
| committer | Miika Pekkarinen <miipekk@ihme.org> | 2005-07-17 15:35:17 +0000 |
| commit | cd8bfeb8a36197080703a21def84eb2da173d23c (patch) | |
| tree | f0ad0ef36e2b0c9943b21562ee65d601a2928357 /apps/playback.c | |
| parent | 182ad9bbc2d18d946240491cb52c088227815e8b (diff) | |
| download | rockbox-cd8bfeb8a36197080703a21def84eb2da173d23c.zip rockbox-cd8bfeb8a36197080703a21def84eb2da173d23c.tar.gz rockbox-cd8bfeb8a36197080703a21def84eb2da173d23c.tar.bz2 rockbox-cd8bfeb8a36197080703a21def84eb2da173d23c.tar.xz | |
Fixed the gapless playback.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7180 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/playback.c')
| -rw-r--r-- | apps/playback.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/apps/playback.c b/apps/playback.c index 78ee15f..3d7ba1a 100644 --- a/apps/playback.c +++ b/apps/playback.c @@ -1156,10 +1156,12 @@ void audio_update_trackinfo(void) ci.curpos = 0; cur_ti->start_pos = 0; ci.taginfo_ready = (bool *)&cur_ti->taginfo_ready; - if (!pcmbuf_crossfade_init()) - pcmbuf_add_event(codec_track_changed); - else + if (pcmbuf_is_crossfade_enabled() && !pcmbuf_is_crossfade_active()) { + pcmbuf_crossfade_init(); codec_track_changed(); + } else { + pcmbuf_add_event(codec_track_changed); + } } static void audio_stop_playback(void) @@ -1343,8 +1345,10 @@ static void initiate_track_change(int peek_index) ci.stop_codec = true; playlist_next(peek_index); queue_post(&audio_queue, AUDIO_PLAY, 0); - } - + } else { + pcmbuf_crossfade_init(); + } + codec_track_changed(); } @@ -1371,7 +1375,8 @@ void audio_thread(void) ci.stop_codec = true; ci.reload_codec = false; ci.seek_time = 0; - pcmbuf_crossfade_init(); + if (!pcmbuf_is_crossfade_active()) + pcmbuf_crossfade_init(); audio_play_start((int)ev.data); playlist_update_resume_info(audio_current_track()); break ; |