[Bug 29531] Folder navigation causes audio playback glitches in CDBurnerXP

wine-bugs at winehq.org wine-bugs at winehq.org
Tue Dec 18 14:41:01 CST 2012


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

Jörg Höhle <hoehle at users.sourceforge.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #39263|0                           |1
        is obsolete|                            |

--- Comment #12 from Jörg Höhle <hoehle at users.sourceforge.net> 2012-12-18 14:41:01 CST ---
Created attachment 42845
  --> http://bugs.winehq.org/attachment.cgi?id=42845
lock-free patch incl. full memory barriers

I had an oversight: the audio buffer itself is R/W too ;-P

So now I'm using the InterlockedExchangeAdd(&,0) pattern to obtain a full
memory barrier at entry of the callbacks (and IEA(&,delta) is used at exit).

I'm still looking for an on-the-fly read-only pattern.  For instance,
InterlockedExchangeAdd is not nice within GetPosition.  That function should
simply take an atomic snapshot of This->held_frames.  Similarly, MCIMIDI wants
the read-only pattern, the MIDI data is fixed while playing.

The attached patch requires my patch "Separate read and write pointers" from
http://www.winehq.org/pipermail/wine-patches/2012-December/120834.html (or from
my previous comment ?)

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