Index: apps/pcmbuf.c =================================================================== --- apps/pcmbuf.c (revision 21305) +++ apps/pcmbuf.c (working copy) @@ -1154,3 +1154,9 @@ return crossfade_enabled; } + +void pcmbuf_play_remainder(void) +{ + if (audiobuffer_fillpos) + pcmbuf_flush_fillpos(); +} Index: apps/pcmbuf.h =================================================================== --- apps/pcmbuf.h (revision 21305) +++ apps/pcmbuf.h (working copy) @@ -75,5 +75,6 @@ int pcmbuf_used_descs(void); int pcmbuf_descs(void); +void pcmbuf_play_remainder(void); #endif Index: apps/playback.c =================================================================== --- apps/playback.c (revision 21305) +++ apps/playback.c (working copy) @@ -2179,6 +2179,8 @@ static void audio_stop_playback(void) { + pcmbuf_play_remainder(); + /* If we were playing, save resume information */ if (playing) {