Buffer must be flushed when audio out is paused, but Winwave audio backend has
problem with this unlike other backends.
As a result, when user stop and restart audio files or something, the previous
audio data are played in front of user expected sound.
So changes it to waveOutReset()
---
audio/winwaveaudio.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/audio/winwaveaudio.c b/audio/winwaveaudio.c
index 663abb9..7de12a6 100644
--- a/audio/winwaveaudio.c
+++ b/audio/winwaveaudio.c
@@ -361,9 +361,9 @@ static int winwave_ctl_out (HWVoiceOut *hw, int cmd, ...)
case VOICE_DISABLE:
if (!wave->paused) {
- mr = waveOutPause (wave->hwo);
+ mr = waveOutReset (wave->hwo);
if (mr != MMSYSERR_NOERROR) {
- winwave_logerr (mr, "waveOutPause");
+ winwave_logerr (mr, "waveOutReset");
}
else {
wave->paused = 1;
--
1.7.4.1