qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Soundwrapper and artsd (fails to share)


From: malc
Subject: Re: [Qemu-devel] Soundwrapper and artsd (fails to share)
Date: Mon, 6 Dec 2004 04:27:21 +0300 (MSK)

On Sun, 5 Dec 2004, Jim C. Brown wrote:

On Mon, Dec 06, 2004 at 03:42:59AM +0300, malc wrote:
On Mon, 6 Dec 2004, Richard Neill wrote:

Dear All,

I wonder why the following doesn't seem to work? Qemu still takes an
exclusive lock on the soundcard, even when invoked with soundwrapper.
I'm using this invocation:

There is no such thing as excluse soundcard lock, /dev/dsp is being opened
and if sound hardware does not support multiple hardware channels then
this is where the story ends.

Not at all. One can pipe the sound thru daemons such as Artsd, ESD, etc.
These daemons then muliplex the sound to the actual hardware. Of course
the programs have to be specially designed to use these daemons, but sometimes
you can use tricks to fool regular programs into thinking that they're talking
to the hardware when they are only sending messages to a pipe or socket. These
typically involve a wrapper of some sort.

Not at all what? Yes, there are sound daemons, but this does not change
the fact that there is no such concept as exclusive sound card lock, it
all comes down to what hardware is there behind /dev/dsp.


Currently the wrappers don't work w/ qemu. (I've only tried 2, artsdsp and
esddsp). It isn't hard to add arts support to qemu, I just haven't had the time
to convert the code yet.

Considering that arts is essentually dead - that might not be a the wisest
way to spend time (http://www.arts-project.org/doc/arts-maintenance.html)




soundwrapper /usr/local/bin/qemu -cdrom servicepacks.iso -hda
winxp_pro_hd.img -boot c -localtime -enable-audio -m 256 -monitor stdio

I'm not quite sure what soundwrapper is, but if it is just a script that
calls artsdsp under the hood, then it's a no go:

<quote>
# artsdsp i386-softmmu/qemu
artsdsp works only for binaries
</quote>

I don't get this error. It doesn't even make sense, because A) artsdsp works
for scripts and B) qemu is a binary. artsdsp is merely a script that makes use
of the LD_PRELOAD trick, which wraps open(), write(), and a few other things
in order to intercept attempts to open /dev/dsp (and related audio devices)
and replace them with messages to artsd.

I installed arts for the sole purpose of trying artsdsp and see when/why
it fails, it fails with the message above. Go figure.


Of course, artsdsp doesn't work for qemu anyways, so it's a moot point.

FMOD comes with esound output driver, QEMU can (optionally) use FMOD and
all its output drivers, latency will be horrible though.

QEMU_AUDIO_DRV=fmod QEMU_FMOD_DRV=esd qemu -enable-audio ...

--
mailto:address@hidden




reply via email to

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