diff options
Diffstat (limited to 'apps/pcmbuf.c')
-rw-r--r-- | apps/pcmbuf.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/apps/pcmbuf.c b/apps/pcmbuf.c index e21f735bbb..f184672bd1 100644 --- a/apps/pcmbuf.c +++ b/apps/pcmbuf.c | |||
@@ -233,7 +233,7 @@ bool pcmbuf_is_lowdata(void) | |||
233 | return false; | 233 | return false; |
234 | } | 234 | } |
235 | 235 | ||
236 | bool pcmbuf_crossfade_init(void) | 236 | bool pcmbuf_crossfade_init(bool manual_skip) |
237 | { | 237 | { |
238 | if (pcmbuf_size - audiobuffer_free < CHUNK_SIZE * 8 | 238 | if (pcmbuf_size - audiobuffer_free < CHUNK_SIZE * 8 |
239 | || !pcmbuf_is_crossfade_enabled() | 239 | || !pcmbuf_is_crossfade_enabled() |
@@ -244,8 +244,12 @@ bool pcmbuf_crossfade_init(void) | |||
244 | logf("pcmbuf_crossfade_init"); | 244 | logf("pcmbuf_crossfade_init"); |
245 | pcmbuf_boost(true); | 245 | pcmbuf_boost(true); |
246 | 246 | ||
247 | crossfade_mode = global_settings.crossfade_fade_out_mixmode | 247 | /* Don't enable mix mode when skipping tracks manually. */ |
248 | ? CFM_MIX : CFM_CROSSFADE; | 248 | if (manual_skip) |
249 | crossfade_mode = CFM_CROSSFADE; | ||
250 | else | ||
251 | crossfade_mode = global_settings.crossfade_fade_out_mixmode | ||
252 | ? CFM_MIX : CFM_CROSSFADE; | ||
249 | crossfade_init = true; | 253 | crossfade_init = true; |
250 | 254 | ||
251 | return true; | 255 | return true; |