* [Qemu-devel] OSS audio debugging
@ 2004-06-10 7:17 Leigh Dyer
2004-06-10 16:06 ` malc
0 siblings, 1 reply; 2+ messages in thread
From: Leigh Dyer @ 2004-06-10 7:17 UTC (permalink / raw)
To: qemu-devel
Hi all,
I've been playing with the sb16 emulation using a Win2k guest. The Add
New Hardware wizard's hardware probe picked it up and installed it
without any problems, but playing audio quite often resulted in a very
abrupt end to the emulation.
I've tracked the problem down to the AUD_run() function in oss.c. When
writing to the card, it calls SNDCTL_DSP_GETOSPACE, which is apparently
meant to return the amount of data that can be written to the card
without blocking. However, for some reason, occasionally the value
returned in abinfo.bytes is negative. This negative value makes it
through to the write() call, which then fails with an unknown error,
hitting the:
ERRFail ("write audio");
line.
I really don't know much about OSS, so I'm not sure how this should be
handled. Does anyone else know what this could mean? For reference, the
card is an ess1371, running ALSA drivers in OSS emulation mode.
Thanks
Leigh
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [Qemu-devel] OSS audio debugging
2004-06-10 7:17 [Qemu-devel] OSS audio debugging Leigh Dyer
@ 2004-06-10 16:06 ` malc
0 siblings, 0 replies; 2+ messages in thread
From: malc @ 2004-06-10 16:06 UTC (permalink / raw)
To: qemu-devel
On Thu, 10 Jun 2004, Leigh Dyer wrote:
> Hi all,
>
> I've been playing with the sb16 emulation using a Win2k guest. The Add
> New Hardware wizard's hardware probe picked it up and installed it
> without any problems, but playing audio quite often resulted in a very
> abrupt end to the emulation.
>
> I've tracked the problem down to the AUD_run() function in oss.c. When
> writing to the card, it calls SNDCTL_DSP_GETOSPACE, which is apparently
> meant to return the amount of data that can be written to the card
> without blocking. However, for some reason, occasionally the value
> returned in abinfo.bytes is negative. This negative value makes it
> through to the write() call, which then fails with an unknown error,
> hitting the:
>
> ERRFail ("write audio");
>
> line.
>
> I really don't know much about OSS, so I'm not sure how this should be
> handled. Does anyone else know what this could mean? For reference, the
> card is an ess1371, running ALSA drivers in OSS emulation mode.
I for one don't know what it means. And while im figuring this out you can
try experimental SDL output driver(but see caveats):
http://www.boblycat.org/~malc/code/patches/qemu/5_aqemu.patch.gz
Caveats:
a. oss.c must be modified and #define USE_SDL_AUDIO 1 inserted somewhere
near the top (or #ifdef _WIN32 changed to #if 1)
b. it was hacked in an hour or so and therefore i can not claim that it
works all that well, in fact it contains a deadlock
P.S. Can someone on Windows try this?
--
mailto:malc@pulsesoft.com
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2004-06-10 16:03 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-10 7:17 [Qemu-devel] OSS audio debugging Leigh Dyer
2004-06-10 16:06 ` malc
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).