mirror of
https://git.proxmox.com/git/qemu
synced 2025-08-16 12:38:08 +00:00
winwave: remove wait object when finalizing DAC voice
Signed-off-by: malc <av1474@comtv.ru>
This commit is contained in:
parent
218951ef4d
commit
f4e8d0b737
@ -253,10 +253,24 @@ static int winwave_run_out (HWVoiceOut *hw, int live)
|
|||||||
return decr;
|
return decr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void winwave_poll_out (void *opaque)
|
||||||
|
{
|
||||||
|
(void) opaque;
|
||||||
|
audio_run ("winwave_poll_out");
|
||||||
|
}
|
||||||
|
|
||||||
static void winwave_fini_out (HWVoiceOut *hw)
|
static void winwave_fini_out (HWVoiceOut *hw)
|
||||||
{
|
{
|
||||||
WaveVoiceOut *wave = (WaveVoiceOut *) hw;
|
WaveVoiceOut *wave = (WaveVoiceOut *) hw;
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
winwave_anal_close_out (wave);
|
winwave_anal_close_out (wave);
|
||||||
|
|
||||||
qemu_free (wave->pcm_buf);
|
qemu_free (wave->pcm_buf);
|
||||||
@ -264,19 +278,6 @@ static void winwave_fini_out (HWVoiceOut *hw)
|
|||||||
|
|
||||||
qemu_free (wave->hdrs);
|
qemu_free (wave->hdrs);
|
||||||
wave->hdrs = NULL;
|
wave->hdrs = NULL;
|
||||||
|
|
||||||
if (wave->event) {
|
|
||||||
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");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int winwave_ctl_out (HWVoiceOut *hw, int cmd, ...)
|
static int winwave_ctl_out (HWVoiceOut *hw, int cmd, ...)
|
||||||
|
Loading…
Reference in New Issue
Block a user