[Bug 30836] Total Overdose: choppy audio playback with Diesel Power 3D sound system
wine-bugs at winehq.org
wine-bugs at winehq.org
Wed Oct 24 16:27:16 CDT 2012
http://bugs.winehq.org/show_bug.cgi?id=30836
Jörg Höhle <hoehle at users.sourceforge.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hoehle at users.sourceforge.ne
| |t
--- Comment #13 from Jörg Höhle <hoehle at users.sourceforge.net> 2012-10-24 16:27:16 CDT ---
Andrew, seeing this bug I understand why you'd like to get that other patch
into Wine. Yet it's unclear to me what exactly makes it work: your patch does
2 things, the rate limiting and some changes to ALSA buffer sizes and periods.
I mean, it could work by side-effect rather than due to actual rate limiting.
Your analysis appears very plausible.
>It sometimes takes more than a period for the ALSA driver to
>update its IAudioClient::GetCurrentPadding().
"sometimes" because of jitter or why?
Or because the ALSA buffer may be filled with the effect that
mmdevapi:GetCurrentPadding may not decrease for 2-3 mmdevapi periods or at
least one ALSA period (which could be as much as 100ms)?
In that case, we should conclude that it's a bug for mmdevapi:GetCurrentPadding
not to decrease as regularly as native's. My point is that there can be
solutions to this independently of rate-limiting, e.g. I imagine a driver that
decrements padding exactly once per event by one period worth of frames and
adapts its event rate to +/- 20% actual drain by the underlying ALSA driver.
DSound should be somewhat independent on mmdevapi. All apps named here do not
see mmdevapi directly rather than DSound. So it's clearly a bug of DSound's
GetCurrentPosition not to change as regularly as the "Direct HW ping pong
buffer" abstraction would suggest. That might be tackled independently on
mmdevapi.
The (unsurprising) lesson is: it's not enough to satisfy the API. The apps
very much depend on comparable dynamic behaviour.
--
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