[PATCH 4] mciwave: Rework MCI notification system.

Joerg-Cyril.Hoehle at t-systems.com Joerg-Cyril.Hoehle at t-systems.com
Mon Nov 9 06:12:15 CST 2009


Hi,

+ * Notifications in MCI work like a 1-element queue.
+ * Each new notification request supersedes the previous one.

This uses InterlockedExchangePointer to implement a thread-safe
notification model that matches my observations & tests of MCI
behaviour.

In summary,
 a) all commands obey notification;
 b) even though MCI_NOTIFY_FAILURE is defined, you almost never get
    to see it, because as MSDN and other docs explain, notification
    is typically not sent in error cases.
 c) Exception to b) are what I call the non-immediate commands
    (Play and Record), as they start a thread. A later patch will fix
    the gory details of these.

+ * This affects Play and Record; other commands are immediate.
To be exact, Cue is not immediate either as I've recently discovered
(cf. later patch), but that's minor.

Regards,
	Jorg Hohle.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-mciwave-Rework-MCI-notification-system.patch
Type: application/octet-stream
Size: 14599 bytes
Desc: 0004-mciwave-Rework-MCI-notification-system.patch
URL: <http://www.winehq.org/pipermail/wine-patches/attachments/20091109/9382c681/attachment.obj>


More information about the wine-patches mailing list