diff options
Diffstat (limited to 'firmware/pcm_playback.c')
-rw-r--r-- | firmware/pcm_playback.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/firmware/pcm_playback.c b/firmware/pcm_playback.c index d1be2a1102..b18238cd3e 100644 --- a/firmware/pcm_playback.c +++ b/firmware/pcm_playback.c | |||
@@ -229,6 +229,7 @@ void pcm_play_data(const unsigned char* start, int size, | |||
229 | 229 | ||
230 | void pcm_play_stop(void) | 230 | void pcm_play_stop(void) |
231 | { | 231 | { |
232 | pcm_set_boost_mode(false); | ||
232 | if (pcm_playing) { | 233 | if (pcm_playing) { |
233 | uda1380_enable_output(false); | 234 | uda1380_enable_output(false); |
234 | pcm_boost(false); | 235 | pcm_boost(false); |
@@ -243,7 +244,6 @@ void pcm_play_stop(void) | |||
243 | pcmbuf_write_index = 0; | 244 | pcmbuf_write_index = 0; |
244 | next_start = NULL; | 245 | next_start = NULL; |
245 | next_size = 0; | 246 | next_size = 0; |
246 | pcm_set_boost_mode(false); | ||
247 | } | 247 | } |
248 | 248 | ||
249 | void pcm_play_pause(bool play) | 249 | void pcm_play_pause(bool play) |
@@ -391,11 +391,11 @@ bool pcm_is_lowdata(void) | |||
391 | return false; | 391 | return false; |
392 | } | 392 | } |
393 | 393 | ||
394 | void pcm_crossfade_start(void) | 394 | bool pcm_crossfade_start(void) |
395 | { | 395 | { |
396 | //logf("cf:%d", audiobuffer_free / CHUNK_SIZE); | 396 | //logf("cf:%d", audiobuffer_free / CHUNK_SIZE); |
397 | if (audiobuffer_free > CHUNK_SIZE * 4 || !crossfade_enabled) { | 397 | if (audiobuffer_free > CHUNK_SIZE * 4 || !crossfade_enabled) { |
398 | return ; | 398 | return false; |
399 | } | 399 | } |
400 | pcm_boost(true); | 400 | pcm_boost(true); |
401 | crossfade_active = true; | 401 | crossfade_active = true; |
@@ -407,6 +407,7 @@ void pcm_crossfade_start(void) | |||
407 | crossfade_pos -= crossfade_amount*2; | 407 | crossfade_pos -= crossfade_amount*2; |
408 | if (crossfade_pos < 0) | 408 | if (crossfade_pos < 0) |
409 | crossfade_pos = PCMBUF_SIZE + crossfade_pos; | 409 | crossfade_pos = PCMBUF_SIZE + crossfade_pos; |
410 | return true; | ||
410 | } | 411 | } |
411 | 412 | ||
412 | static __inline | 413 | static __inline |