[RFC] direct sound notify patch

Robert Reif reif at earthlink.net
Wed Apr 9 17:15:55 CDT 2003

This patch is similar to the patch by Jerry Ji
(position-notify array cleanup for IDirectSoundNotify).

It moves the position notify array into IDirectSoundNotify.
It also eliminates the pointers from IDirectSoundNotify back
to the buffers.  It also adds the ability to use hardware
notifies (really driver notifies).

The reversal of ownership between the buffers and notifies
should be ok but it introduces a minor problem. In windows,
it looks like a notify is a composite part of the buffer rather
than a separate piece accessed through a pointer.  This
throws the reference count off by one and I have a workaround
but I don't know the proper way of dealing with this in wine.

This patch also fixes two capture buffer creation failure bugs.
The partially created buffer in now deleted properly.

It also fixes a bug where a wave format structure with a PCM
format but a non zero cbSize was handled improperly.

It also fixes the bug Jerry Ji was trying to fix.  The old code
appended a new array to the old one rather than replacing it.

Adding a hardware notify introduces the use a new GUID from
dsdriver.h. I had to add initguid.h to get it to compile but is this
the proper thing to do?  Should this file be added to libs/uuid?

Any comments or testers would be appreciated.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: dsound.diff
Type: application/x-unknown-content-type-diff_auto_file
Size: 13157 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20030409/684c7e2e/dsound.bin

More information about the wine-patches mailing list