[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [COMMIT f4e8d0b] winwave: remove wait object when finaliz
From: |
Anthony Liguori |
Subject: |
[Qemu-commits] [COMMIT f4e8d0b] winwave: remove wait object when finalizing DAC voice |
Date: |
Sun, 11 Oct 2009 01:43:44 -0000 |
From: malc <address@hidden>
Signed-off-by: malc <address@hidden>
diff --git a/audio/winwaveaudio.c b/audio/winwaveaudio.c
index 16133d1..5bbce2a 100644
--- a/audio/winwaveaudio.c
+++ b/audio/winwaveaudio.c
@@ -253,30 +253,31 @@ static int winwave_run_out (HWVoiceOut *hw, int live)
return decr;
}
+static void winwave_poll_out (void *opaque)
+{
+ (void) opaque;
+ audio_run ("winwave_poll_out");
+}
+
static void winwave_fini_out (HWVoiceOut *hw)
{
WaveVoiceOut *wave = (WaveVoiceOut *) hw;
- winwave_anal_close_out (wave);
-
- qemu_free (wave->pcm_buf);
- wave->pcm_buf = NULL;
-
- qemu_free (wave->hdrs);
- wave->hdrs = NULL;
-
if (wave->event) {
+ qemu_del_wait_object (wave->event, winwave_poll_out, wave);
if (!CloseHandle (wave->event)) {
AUD_log (AUDIO_CAP, "CloseHandle failed %lx\n", GetLastError ());
}
wave->event = NULL;
}
-}
-static void winwave_poll_out (void *opaque)
-{
- (void) opaque;
- audio_run ("winwave_poll_out");
+ winwave_anal_close_out (wave);
+
+ qemu_free (wave->pcm_buf);
+ wave->pcm_buf = NULL;
+
+ qemu_free (wave->hdrs);
+ wave->hdrs = NULL;
}
static int winwave_ctl_out (HWVoiceOut *hw, int cmd, ...)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [COMMIT f4e8d0b] winwave: remove wait object when finalizing DAC voice,
Anthony Liguori <=