summaryrefslogtreecommitdiff
path: root/audio
diff options
context:
space:
mode:
authormunkyu.im <munkyu.im@samsung.com>2012-08-25 16:00:05 +0900
committermunkyu.im <munkyu.im@samsung.com>2012-08-25 16:00:05 +0900
commit23d170ac7aabc01a0ae0373a1d70c69a86dcbd2b (patch)
tree0b16f4c0ca4fbf304478335b6c79a26d14e0323f /audio
parent6d5ebc60b771a4f7e1b3c539fd5309af7353af05 (diff)
downloadqemu-23d170ac7aabc01a0ae0373a1d70c69a86dcbd2b.tar.gz
qemu-23d170ac7aabc01a0ae0373a1d70c69a86dcbd2b.tar.bz2
qemu-23d170ac7aabc01a0ae0373a1d70c69a86dcbd2b.zip
[Title]fix : cannot clear out remain audio out data
[Type]Bugfix [Module]winwave [Priority] [CQ#]N_SE-3347, N_SE-6260 [Redmine#] [Problem]It is still remained after closing or pausing audio data [Cause]waveOutPause() can not flush remaining audio data [Solution]Use waveOutReset() [TestCase] Conflicts: package/pkginfo.manifest
Diffstat (limited to 'audio')
-rw-r--r--audio/winwaveaudio.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/audio/winwaveaudio.c b/audio/winwaveaudio.c
index 87e7493270..234e3dc23c 100644
--- a/audio/winwaveaudio.c
+++ b/audio/winwaveaudio.c
@@ -361,10 +361,17 @@ static int winwave_ctl_out (HWVoiceOut *hw, int cmd, ...)
case VOICE_DISABLE:
if (!wave->paused) {
+#if defined(CONFIG_MARU)
+ mr = waveOutReset (wave->hwo);
+ if (mr != MMSYSERR_NOERROR) {
+ winwave_logerr (mr, "waveOutReset");
+ }
+#else
mr = waveOutPause (wave->hwo);
if (mr != MMSYSERR_NOERROR) {
winwave_logerr (mr, "waveOutPause");
}
+#endif
else {
wave->paused = 1;
}