Commit Graph

144 Commits

Author SHA1 Message Date
Hiroki Awata 8116d4e11c dsound: Notify DSBPN_OFFSETSTOP earlier.
Some games may not receive the DSBPN_OFFSETSTOP event and get stuck if
CloseHandle is called immediately after IDirectSoundBuffer::Stop.  To
solve this problem, IDirectSoundBuffer::Stop will immediately notify
the DSBPN_OFFSETSTOP event.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=41292
Signed-off-by: Hiroki Awata <castaneai@by.black>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 21:21:31 +02:00
Alistair Leslie-Hughes 2e8bd2682a dsound: IDirectSoundBuffer8 GetStatus return DSBSTATUS_LOCSOFTWARE for deferred buffers.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=21014
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-18 22:46:37 +01:00
Zebediah Figura 91625e43f4 dsound: Select the nth effect matching the given CLSID in GetObjectInPath().
Instead of selecting the nth effect overall and checking whether it matches.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-03 21:24:01 +02:00
Akihiro Sagawa 70aeb7e4b0 dsound: Make GlobalHandle() for the sound buffer failed.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-11 15:54:49 +01:00
Zebediah Figura e091903999 dsound: Use an SRW lock for the buffer lock.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-03 20:48:04 +01:00
Zebediah Figura 1308700843 dsound: Use an SRW lock for buffer_list_lock.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48408
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-03 20:48:04 +01:00
Alistair Leslie-Hughes ff4ef417b7 dsound: Trace each special effect as it's processed.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-05 19:51:09 +02:00
Alexandre Julliard 4c018c32ce dsound: Make a qsort() callback function cdecl.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-22 09:56:53 +02:00
Alistair Leslie-Hughes 9a258c5dd7 dsound: IDirectSoundNotify is only available when DSBCAPS_CTRLPOSITIONNOTIFY is specified.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45473
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-13 21:01:56 +01:00
Alistair Leslie-Hughes 061121b81a dsound: Trace ref in a consistent way.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-11 17:01:31 +01:00
Alistair Leslie-Hughes 074de9258d dsound: Don't trace current thread ID.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-18 20:59:38 +02:00
Zebediah Figura fe8e9daa1b dsound: Call interface methods properly.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-03 20:46:02 +02:00
Andrew Eikum 468477b694 dsound: Avoid NULL pointer dereference (Coverity).
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 12:17:55 +09:00
Michael Stefaniuc bb72548f38 dsound: Use a better name for IDirectSoundBufferImpl_Create().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-22 13:50:45 +01:00
Michael Stefaniuc d51d55bab8 dsound: Simplify error handling when creating a sound buffer.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-22 13:50:42 +01:00
Michael Stefaniuc e69d9ec3c4 dsound: A version 1 3d secondary buffer allows SetPan().
For version 8 DSBCAPS_CTRL3D and DSBCAPS_CTRLPAN are mutually exclusive
and a sound buffer cannot be created when both flags are set.

Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-02 23:45:17 +09:00
Alexandre Julliard 8427c7816d dsound: Fix an error return code. 2015-03-27 11:33:50 +09:00
Francois Gouget 359fbe829a dsound: Remove unneeded NONAMELESSXXX directives. 2015-03-11 22:10:31 +09:00
Mark Harmstone 55ed98cb88 dsound: Pipe audio data through DMOs. 2015-03-11 13:18:08 +09:00
Mark Harmstone 862d7dae75 dsound: Implement GetObjectInPath. 2015-03-10 23:53:43 +09:00
Mark Harmstone 17056b9f30 dsound: Implement SetFX. 2015-03-10 23:53:40 +09:00
Mark Harmstone e6ae73359f dsound: Keep track of locked bytes. 2015-03-10 23:53:17 +09:00
Mark Harmstone d4d14cdef0 dsound: Pretend we have hardware buffers.
When running in Windows XP mode, XAudio2 will refuse to output surround sound
unless it can open a buffer with DSBCAPS_LOCHARDWARE.
2015-01-13 17:51:54 +01:00
Marton Balint 6d009b988b dsound: Convert freqAdjust and freqAcc to integers.
Fixes resampling errors caused by truncating floating point numbers.
2014-12-29 22:20:30 +01:00
Andrew Eikum ee126c96f1 dsound: Report buffer notifications in offset order. 2014-12-04 14:03:16 +01:00
Andrew Talbot b0e95d27a9 dsound: Indentation fix. 2012-12-17 11:47:38 +01:00
Michael Stefaniuc b18bc659d6 dsound: Avoid a TRUE:FALSE conditional expression. 2012-08-14 11:59:26 +02:00
Andrew Eikum bf263a347d dsound: Fail if app requests 3D buffer interface on a non-3D buffer. 2012-06-14 18:20:29 +02:00
Andrew Eikum f0be44c82d dsound: Don't destroy primary buffer until device is released. 2012-05-09 17:49:33 +02:00
Andrew Eikum 4354be123c dsound: Don't derive the secondary position from the primary position. 2012-05-02 12:00:02 +02:00
Andrew Eikum f393a98a8a dsound: Convert from fixed to floating point. 2012-05-02 11:59:58 +02:00
Michael Stefaniuc 84d5317302 dsound: Remove the now obsolete IDirectSoundBufferImpl_Destroy(). 2012-01-20 13:34:20 +01:00
Michael Stefaniuc c7f5f10aab dsound: Merge IDirectSoundNotify into the secondary buffer object. 2012-01-20 13:33:33 +01:00
Michael Stefaniuc e0d81e55e2 dsound: Merge IDirectSound3DBuffer into the secondary buffer object. 2012-01-19 21:08:49 +01:00
Michael Stefaniuc 3ec0b056d5 dsound: Support IKsPropertySet in the primary buffer too. 2012-01-17 11:53:25 +01:00
Michael Stefaniuc 48ca5924b4 dsound: Merge IKsPropertySet into the secondary buffer object. 2012-01-17 11:53:19 +01:00
Michael Stefaniuc fd04e770f1 dsound: Drop "Buffer" from the IKsPropertySet method names. 2012-01-17 11:53:05 +01:00
Andrew Eikum 9cf7f95483 dsound: Lock the source buffer during duplication. 2012-01-17 11:51:25 +01:00
Michael Stefaniuc 5959e1d48c dsound: Use AddRef to set the refcounts at object creation. 2012-01-16 12:45:33 +01:00
Alexander E. Patrakov 663bc47602 dsound: Always resample buffers in mixer thread. 2011-12-29 17:56:48 +01:00
Andrew Eikum 7fae5f4f9f dsound: Validate buffer pointers in Unlock methods. 2011-09-26 18:38:11 +02:00
Andrew Eikum b1fdaa81b0 dsound: Remove hardware acceleration support. 2011-09-26 18:38:07 +02:00
Michael Stefaniuc c35745d45a dsound: Handle primary buffers in two more IDirectSoundBuffer methods. 2011-08-31 19:43:06 +02:00
Michael Stefaniuc a2bc634eaa dsound: Handle primary buffers in IDirectSoundBufferImpl_SetFormat. 2011-08-31 19:43:06 +02:00
Michael Stefaniuc 6d7c38256f dsound: Fix refcounting for the secondary buffer object.
This fixes a regression introduced in 6b64e0090c.
2011-08-26 11:31:59 +02:00
Michael Stefaniuc 6b64e0090c dsound: Kill SecondaryBufferImpl with extreme prejudice. 2011-08-24 12:14:46 +02:00
Michael Stefaniuc 7da80d1f01 dsound: Basic COM cleanup for the IDirectSoundBuffer8 iface. 2011-08-24 12:14:46 +02:00
Frédéric Delanoy b5a33dab88 dlls: Assorted spelling fixes. 2011-08-02 20:47:51 +02:00
Akihiro Sagawa 2ab3d22663 dsound: Don't copy the position notify on duplicate. 2011-07-22 15:44:16 +02:00
Akihiro Sagawa 3c9bd6ba2a dsound: Don't copy the notify object on duplicate. 2011-07-22 15:44:13 +02:00