qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

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