[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Questions on audio_atexit(), possibly bugs
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] Questions on audio_atexit(), possibly bugs |
Date: |
Wed, 30 Sep 2009 23:39:17 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.3 (gnu/linux) |
Excuse my ignorance on all things audio, but I stumbled over something
that could be wrong.
audio_vm_change_state_handler() stops voices when the VM stops, and
starts them when it continues.
audio_atexit() unconditionally stops them. When a stopped VM exits,
this stops voices that are already stopped.
Does the audio driver contract allow stopping a stopped voice? If yes,
I figured starting a running voice is fine, too. If no, we have a bug
in audio_atexit().
Why is audio_atexit() needed at all? Doesn't the OS clean up just fine
all by itself? If we do need manual cleanup, why do we have to stop
voices before we run fini_out() and fini_in()?
Unrelated, but nearby: audio_vm_change_state_handler() calls the
ctl_out() callback with three arguments:
hwo->pcm_ops->ctl_out (hwo, op, conf.try_poll_out);
(op is either VOICE_ENABLE or VOICE_DISABLE here), while audio_atexit()
calls it with two:
hwo->pcm_ops->ctl_out (hwo, VOICE_DISABLE);
Same for ctl_in(). Doesn't look kosher. A quick check of oss_ctl_out()
and oss_ctl_in() shows use of three parameters.
- [Qemu-devel] Questions on audio_atexit(), possibly bugs,
Markus Armbruster <=