[Bug 10495] Wine should support PulseAudio
wine-bugs at winehq.org
wine-bugs at winehq.org
Tue Jan 18 19:27:25 CST 2011
http://bugs.winehq.org/show_bug.cgi?id=10495
--- Comment #312 from Raymond <superquad.vortex2 at gmail.com> 2011-01-18 19:27:17 CST ---
(In reply to comment #310)
>
> > If pulseaudio take up the role of Kmixer in linux , winepulse should provide
> > hardware secondary buffers like the Kmixer in windows
> ...
> > why onboard HDA cannot use Full Acceleration (i.e. hardware secondary buffers)
> > with winepulse
>
> winepulse CANNOT provide hardware acceleration in any way because pulse is a
> software-only mixer that locks out all applications from direct hardware access
> (as well as dmix).
DSCAPS_CONTINUOUSRATE The device supports all sample rates between the
dwMinSecondarySampleRate and dwMaxSecondarySampleRate member values. Typically,
this means that the actual output rate will be within +/- 10 hertz (Hz) of the
requested frequency.
DSCAPS_SECONDARY16BIT The device supports hardware-mixed secondary sound
buffers with 16-bit samples.
DSCAPS_SECONDARY8BIT The device supports hardware-mixed secondary buffers
with 8-bit samples.
DSCAPS_SECONDARYMONO The device supports hardware-mixed monophonic
secondary buffers.
DSCAPS_SECONDARYSTEREO The device supports hardware-mixed stereo secondary
buffers
this mean winealsa.drv is incorrect to use those flags when it disable the
alsa-lib resampling
*flags = DSCAPS_CERTIFIED | DSCAPS_CONTINUOUSRATE;
*flags |= DSCAPS_SECONDARYMONO | DSCAPS_SECONDARYSTEREO;
*flags |= DSCAPS_SECONDARY8BIT | DSCAPS_SECONDARY16BIT;
since only wineoss.drv with ossv4 have hardware mixing buffers which define
PCM_CAP_MULT
#define DSP_CAP_MULTI PCM_CAP_MULTI
#ifdef DSP_CAP_MULTI /* not every oss has this */
/* check for hardware secondary buffer support (multi open) */
if ((arg & DSP_CAP_MULTI) &&
(ossdev->out_caps.dwSupport & WAVECAPS_DIRECTSOUND)) {
TRACE("hardware secondary buffer support available\n");
ossdev->ds_caps.dwMaxHwMixingAllBuffers = 16;
ossdev->ds_caps.dwMaxHwMixingStaticBuffers = 0;
ossdev->ds_caps.dwMaxHwMixingStreamingBuffers = 16;
ossdev->ds_caps.dwFreeHwMixingAllBuffers = 16;
ossdev->ds_caps.dwFreeHwMixingStaticBuffers = 0;
ossdev->ds_caps.dwFreeHwMixingStreamingBuffers = 16;
}
#endif
This is equivalent to those 16 or more playback subdevices in alsa
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list