[Bug 14717] resampled sound is horrible

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Dec 21 20:27:24 CST 2010


http://bugs.winehq.org/show_bug.cgi?id=14717

--- Comment #54 from Raymond <superquad.vortex2 at gmail.com> 2010-12-21 20:27:22 CST ---
(In reply to comment #53)
> (In reply to comment #51)
> > The jack server is playing the role of kernel audio mixer in linux but it just
> > mixing all the jack clients at the server 's sample rate only
> 
> Correct. However, Wine mixes all secondary buffers of the application into
> primary before sending the result to jack. And while mixing secondary buffers
> into primary, Wine resamples (badly, using zero-order hold) if there is a
> mismatch in the sample rates of primary and secondary buffers.

it is wine specifc feature which need user to select the default sample rate,
default bits, so winecfg should limit the default sample rate to jack server
sample rate and default bits since winejack does not support 8bits after user
selecting winejack

since wine can only use one driver at a time , winecfg should use radio button
instead of checkbox in driver selection 

Does foobar2000 use the primary buffer or
DSCAPS_LOC_SOFTWARE/DSCAPS_LOC_HARDWARE for a software/hardware secondary
buffer ?

The primary buffer must use the hardware supported rate (i.e. the jack server
's sample rate when using winejack )

There are two important issue in software mixing of the secondary buffer ,
mixing at different rate and mixing with software atten

if you look at winejack.drv 's source code, you will notice that winejack does
not really support dsound

emulating using waveoutdevice does not work unless wine implement software
atten during mixing of the secondary buffers because winjack does not have any
volume control for each waveout stream

I guess the wine developer expect the linux audio system provide the volume
control "software atten" to implement SetvolumePan() of dsound buffers

1) winealsa.drv

For those hardware mixing sound cards use IFACE_PCM control of the sound card

http://git.alsa-project.org/?p=alsa-tools.git;a=blob;f=hwmixvolume/README

a softvol control for each dmix stream for those non hardware mixing sound
cards

2) winepulse.drv - provide software volume control for each PA stream but
winepulse drop dsound support in version 0.27

Otherwise they have to implement software atten/mixing in dsound
or use openal to emulate ds3d

-- 
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