qemu-devel
[Top][All Lists]
Advanced

[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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]