[Bug 29585] wineoss.drv audio renderer not on par with others
wine-bugs at winehq.org
wine-bugs at winehq.org
Fri Apr 13 03:10:45 CDT 2012
--- Comment #51 from Jörg Höhle <hoehle at users.sourceforge.net> 2012-04-13 03:10:45 CDT ---
Chris, I don't understand parts of what you wrote. Could you please elaborate?
>In fact it existed in the data that was being written.
>It was doing this because the value from GetPosition was
>jumping ahead to exactly 10 dsound fragments beyond the dsound's saved value
>wineoss.drv should definitely not be reporting the position of
>an underrun event that has not happened yet.
Definitely. But where/how do you diagnose this in wineoss?
Part of what I don't understand about what you write is what DSound is doing
wrong and what mmdevapi is doing wrong.
What I want:
1. Have mmdevapi produce sound values.
Here you patch is incorrect, because GetPosition should a priori not bump to
maximum when held_frames is zero. That point is debatable and debated[*].
2. Have DSound deal with huge latencies.
>This delay was hovering around a little under 3-4 device fragments.
>That is about 7 dsound fragments.
What you write sounds to me as if DSound does not work well when the latency is
almost as large as its buffer. I think this is a known bug in Wine's DSound,
that has become apparent since the switch to mmdevapi. Former code used to lie
Is what you mean point L in my list:
[*] I forgot where I wrote about this. Basically:
Contra: There could be 2 seconds worth of samples buffered within OSS, USB or
the remote desktop, they should drain slowly and normally. We need some tests
on native with such a setup.
Pro: The native mixer ticks every 10ms and its GetCurrentPadding slowly
decreases by deltas of 10ms. All test results so far shows that GetPosition is
not far (less than ~40ms) behind GetCurrentPadding. Therefore, when padding
decreases and reaches zero, position soon reaches max. One bug is that Wine's
GetCurrentPadding does not behave that regularly.
IIRC there was a bug report where we observed and discussed GetPosition jumps
to maximum, but I can't find it now.
Bug #29472, comment #9 and bug #29531 are related.
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