[Bug 28723] Sound stutter in Rage when emulated windows version is set to "Windows 7" (XAudio2 -> mmdevapi sound output path)

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Dec 14 09:39:23 CST 2011


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

--- Comment #86 from Andrew Eikum <aeikum at codeweavers.com> 2011-12-14 09:39:23 CST ---
(In reply to comment #85)
> >We now use set_buffer_size_min() instead of _near().
> That's a bad move. near is a clear indicator of what we want.  min or max are
> completely ignored unless the limit is hit during constraint resolution.  As a
> result, with min only, PA will use its typical 2s buffer.
> 

But _near() runs the same risk as _max(), that is, it allows ALSA to give us
too small a buffer (Bug 28282). Other than wasting memory, what's the harm of a
2s buffer since we limit our writes in alsa_write_data() anyway?

> +    if(period)
> +        This->mmdev_period_rt = period;
> I'd like to eventually see if(!period || mode==SHARED) = DefaultPeriod
> I'm currently using testbot to obtain the min & max values.
> 

This is patch 4 in the patchset.

> >"while () write_limit+=;"
> I've had cases with alsa_period=8 frames vs 448 mmdevapi period.  That needs
> quite a few iterations through the loop and should be replaced by a straight
> formula to directly compute the limit instead.
> 

But we add max_period to write_limit in the loop body, so I'm pretty sure the
loop can execute at most three times.

> I've made some progress with PA.  The sequence prepare + drop + prepare(!)
> manages to prevent the too large avail & delay values reported in comment #63
> past an underrun, at least with the old Ubuntu Intrepid PA.  There's still an
> issue that it may spit out a sequence of "handling underrun" for over 100ms
> until it gets back to normal behaviour.

Are these future concerns, or do you think they should block this patchset? I
would really like to get it in ASAP.

We should also talk about attribution. I am fine with the following:
1/4 goes to Alexey
2/4 goes to Jörg
3/4 and 4/4 go to me (unless you want 4/4, Jörg, but it's pretty trivial)
AJ tends to prefer patch that authors submit their own patches, so we'll have
to either hope for an exception or submit them one-per-day or with coordinated
patch counts in the subject. What a mess :)

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