[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [Bug 1699628] [NEW] Direct Sound Audio does not stop
From: |
Chris Stevens |
Subject: |
[Qemu-devel] [Bug 1699628] [NEW] Direct Sound Audio does not stop |
Date: |
Thu, 22 Jun 2017 00:32:08 -0000 |
Public bug reported:
The Bug:
DirectSound Audio does not stop because dsound_ctl_out does not end up calling
IDirectSoundBuffer_Stop. This is due to a bug in dsound_get_status_out where
the status flags returned from IDirectSoundBuffer_GetStatus are compared with
DSERR_BUFFERLOST (an error code) rather than DSBSTATUS_BUFFERLOST (a status
flag). The status is actually (DSBSTATUS_LOOPING | DSBSTATUS_PLAYING) and one
of those flags happens to be set in the DSERR_BUFFERLOST value. As a result,
dsound_get_status_out returns -1 and dsound_ctl_out exits before calling
IDirectSoundBuffer_Stop.
The Fix:
A simple replacement of DSERR_BUFFERLOST with DSBSTATUS_BUFFERLOST in
dsound_get_status_out.
Should be: "if (*statusp & DSBSTATUS_BUFFERLOST) {"
Version Information:
I was able to produce this bug in Qemu 2.9.0 and with the latest source pulled
from git://git.qemu-project.org/qemu.git (commit 8dfaf23ae1). I was able to
verify my suggested fix with the latest source.
Guest OS:
Discovered running Minoca OS v0.4 (www.github.com/minoca/os). Images at
https://www.minocacorp.com/download/nightlies/latest-x86. The Qemu test images
I tried (http://wiki.qemu.org/Testing/System_Images) didn't have an easy sound
setup (was looking for 'aplay' or similar).
Qemu Command Line:
./qemu-system-x86_64.exe -m 512 -hda pc.img -smp 4 -usbdevice keyboard -device
intel-hda -device hda-duplex
** Affects: qemu
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1699628
Title:
Direct Sound Audio does not stop
Status in QEMU:
New
Bug description:
The Bug:
DirectSound Audio does not stop because dsound_ctl_out does not end up
calling IDirectSoundBuffer_Stop. This is due to a bug in dsound_get_status_out
where the status flags returned from IDirectSoundBuffer_GetStatus are compared
with DSERR_BUFFERLOST (an error code) rather than DSBSTATUS_BUFFERLOST (a
status flag). The status is actually (DSBSTATUS_LOOPING | DSBSTATUS_PLAYING)
and one of those flags happens to be set in the DSERR_BUFFERLOST value. As a
result, dsound_get_status_out returns -1 and dsound_ctl_out exits before
calling IDirectSoundBuffer_Stop.
The Fix:
A simple replacement of DSERR_BUFFERLOST with DSBSTATUS_BUFFERLOST in
dsound_get_status_out.
Should be: "if (*statusp & DSBSTATUS_BUFFERLOST) {"
Version Information:
I was able to produce this bug in Qemu 2.9.0 and with the latest source
pulled from git://git.qemu-project.org/qemu.git (commit 8dfaf23ae1). I was able
to verify my suggested fix with the latest source.
Guest OS:
Discovered running Minoca OS v0.4 (www.github.com/minoca/os). Images at
https://www.minocacorp.com/download/nightlies/latest-x86. The Qemu test images
I tried (http://wiki.qemu.org/Testing/System_Images) didn't have an easy sound
setup (was looking for 'aplay' or similar).
Qemu Command Line:
./qemu-system-x86_64.exe -m 512 -hda pc.img -smp 4 -usbdevice keyboard
-device intel-hda -device hda-duplex
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1699628/+subscriptions
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [Bug 1699628] [NEW] Direct Sound Audio does not stop,
Chris Stevens <=