[Bug 33686] New: Diablo III: Audio cuts out after a while of game play

wine-bugs at winehq.org wine-bugs at winehq.org
Thu May 30 00:17:21 CDT 2013


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

             Bug #: 33686
           Summary: Diablo III: Audio cuts out after a while of game play
           Product: Wine
           Version: 1.5.31
          Platform: x86
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: winealsa.drv
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: kdt3rd at gmail.com
    Classification: Unclassified


After a semi-random amount of time playing the game, the audio all of a sudden
stops outputting anything. I am not running pulse or any sound daemon, just
using alsa with the output device hard-specified in winecfg.

After trying to trace with the Audio wiki-recommended WINEDEBUG settings, I
didn't get very far trying to isolate the problem, so I modified the TRACE in
dlls/winealsa.drv/mmdevdrv.c, and when the audio cuts out, it looks like the
AudioClient_GetCurrentPadding is called in-between or just slightly one (wrong)
side of alsa_write_data, which causes a larger number to be returned than
'normal'. At this point, a lot of the
AudioRenderClient_(GetBuffer|ReleaseBuffer) calls start requesting 0 frames.
But more importantly, something about that sequence getting out of the normal
thread sequence triggers the pad stored in 'in_alsa' in alsa_write_data to
become larger than max_period * 3 size. This means that write_limit ends up
stuck at 0, so it leaves the alsa_write_data function early and no audio is
output...

I write this bug because it seems like the code that is implementing the
comment about keeping 3 ALSA/MMDevAPI periods in the ALSA buffer is either
flawed, or more likely, I don't understand all the pieces, so I'm not sure how
to make a patch to appropriately fix the issue. Any hints on potential patches
are appreciated.

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