diff options
| author | Miika Pekkarinen <miipekk@ihme.org> | 2005-06-29 21:13:46 +0000 |
|---|---|---|
| committer | Miika Pekkarinen <miipekk@ihme.org> | 2005-06-29 21:13:46 +0000 |
| commit | 7b7d1e6802a48fd924f42c46e2ef72d170ba7c23 (patch) | |
| tree | c5baef7d7a3fc7d1411c3837d8ddfd8313a5f2a6 | |
| parent | 848be818285a8d61894887202b28f526a009fd92 (diff) | |
| download | rockbox-7b7d1e6802a48fd924f42c46e2ef72d170ba7c23.zip rockbox-7b7d1e6802a48fd924f42c46e2ef72d170ba7c23.tar.gz rockbox-7b7d1e6802a48fd924f42c46e2ef72d170ba7c23.tar.bz2 rockbox-7b7d1e6802a48fd924f42c46e2ef72d170ba7c23.tar.xz | |
Always use crossfade if it's enabled.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6933 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | apps/playback.c | 9 | ||||
| -rw-r--r-- | firmware/export/pcm_playback.h | 1 |
2 files changed, 7 insertions, 3 deletions
diff --git a/apps/playback.c b/apps/playback.c index dccf632..55829a0 100644 --- a/apps/playback.c +++ b/apps/playback.c @@ -986,7 +986,9 @@ void audio_update_trackinfo(void) if (buf_ridx >= codecbuflen) buf_ridx -= codecbuflen; - pcm_crossfade_init(); + if (!pcm_crossfade_init()) + pcm_flush_audio(); + if (!filling) pcm_set_boost_mode(false); } else { @@ -1140,7 +1142,8 @@ void audio_thread(void) ci.stop_codec = true; ci.reload_codec = false; ci.seek_time = 0; - pcm_flush_audio(); + if (!pcm_crossfade_init()) + pcm_flush_audio(); audio_play_start((int)ev.data); break ; @@ -1349,7 +1352,7 @@ static void initiate_track_change(int peek_index) } else if (!pcm_crossfade_init()) { - //pcm_play_stop(); + pcm_flush_audio(); } } diff --git a/firmware/export/pcm_playback.h b/firmware/export/pcm_playback.h index 554e975..eb952d3 100644 --- a/firmware/export/pcm_playback.h +++ b/firmware/export/pcm_playback.h @@ -46,6 +46,7 @@ void pcm_play_set_watermark(int numbytes, void (*callback)(int bytes_left)); void pcm_set_boost_mode(bool state); bool pcm_is_lowdata(void); +void pcm_flush_audio(void); void pcm_flush_buffer(long length); bool pcm_crossfade_init(void); void audiobuffer_add_event(void (*event_handler)(void)); |