summaryrefslogtreecommitdiff
path: root/apps/pcmbuf.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/pcmbuf.c')
-rw-r--r--apps/pcmbuf.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/apps/pcmbuf.c b/apps/pcmbuf.c
index 4277dca379..f1988fd3f4 100644
--- a/apps/pcmbuf.c
+++ b/apps/pcmbuf.c
@@ -353,7 +353,7 @@ static void crossfade_process_buffer(
353 /* Prevent pcmbuffer from wrapping. */ 353 /* Prevent pcmbuffer from wrapping. */
354 if (pos >= pcmbuf_size) 354 if (pos >= pcmbuf_size)
355 pos -= pcmbuf_size; 355 pos -= pcmbuf_size;
356 blocksize = MIN(pcmbuf_size - pos, blocksize); 356 blocksize = MIN((pcmbuf_size - pos)/2, blocksize);
357 buf = (short *)&audiobuffer[pos]; 357 buf = (short *)&audiobuffer[pos];
358 358
359 fade_out_rem -= blocksize; 359 fade_out_rem -= blocksize;
@@ -413,14 +413,14 @@ static void crossfade_start(void)
413 fade_out_rem = NATIVE_FREQUENCY 413 fade_out_rem = NATIVE_FREQUENCY
414 * global_settings.crossfade_fade_out_duration * 2; 414 * global_settings.crossfade_fade_out_duration * 2;
415 415
416 /* Truncate fade out duration if necessary. */
417 if (fade_out_rem > crossfade_rem)
418 fade_out_rem = crossfade_rem;
419
420 /* We want only to modify the last part of the buffer. */ 416 /* We want only to modify the last part of the buffer. */
421 if (crossfade_rem > fade_out_rem + fade_out_delay) 417 if (crossfade_rem > fade_out_rem + fade_out_delay)
422 crossfade_rem = fade_out_rem + fade_out_delay; 418 crossfade_rem = fade_out_rem + fade_out_delay;
423 419
420 /* Truncate fade out duration if necessary. */
421 if (crossfade_rem < fade_out_rem + fade_out_delay)
422 fade_out_rem -= (fade_out_rem + fade_out_delay) - crossfade_rem;
423
424 /* Get also fade in duration and delays from settings. */ 424 /* Get also fade in duration and delays from settings. */
425 crossfade_fade_in_rem = NATIVE_FREQUENCY 425 crossfade_fade_in_rem = NATIVE_FREQUENCY
426 * global_settings.crossfade_fade_in_duration * 2; 426 * global_settings.crossfade_fade_in_duration * 2;