Commit Graph

26 Commits

Author SHA1 Message Date
Hans Leidekker
fe442b21f7 Fix signed/unsigned comparison warnings. 2004-09-08 01:23:57 +00:00
Robert Reif
1d785b85c2 Consolidate secondary buffer list processing and locking.
Two new functions DSOUND_AddBuffer and DSOUND_RemoveBuffer
have been added and the locking has been moved into these functions.
Renamed IDirectSound lock to buffer_list_lock.
Removed redundant test for IID_IDirectSoundNotify and
IID_IDirectSoundNotify8 because they are the same.
Removed check for invalid buffers on list because that shouldn't
happen anymore because of fixed 3d buffer reference counting.
Minor code cleanups.
2004-09-07 19:32:21 +00:00
Robert Reif
dfe3c1c579 Allocate wave format structure dynamically based on format.
Remove format checks to allow driver to decide if format supported.
Code cleanups.
2004-08-18 00:30:37 +00:00
Robert Reif
101599e902 Speed up mixing and unmixing by moving sample size and buffer wrap
tests to outside the loop.  The code is not as compact or pretty but
it should be faster.
2004-08-12 20:01:32 +00:00
Gerald Pfeifer
0ba37e23d9 Avoid using round(), which is unportable. 2004-08-02 18:47:09 +00:00
Francois Gouget
18aeb90165 Fix the volume and balance of primary buffers so it is the system's
volume and balance, like on Windows.
2004-07-23 19:06:31 +00:00
Robert Reif
370a18f786 Reduce the use of the dsound global variable by passing address to
functions.
2004-01-12 21:02:22 +00:00
Robert Reif
99b0e8fa66 Added volume and pan support to primary buffers.
Added more property set support.
2003-09-19 00:10:51 +00:00
Alexandre Julliard
e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Robert Reif
5ec32cecf2 Added SecondaryBuffer and DirectSoundCaptureNotify COM objects to get
reference counting right.
2003-09-01 23:58:43 +00:00
Robert Reif
9dacf206fe 3D buffer and listener reference counts should be fixed.
3D sound now plays in 3D.
COM interfaces should be correct for buffers and 3D stuff. The COM
interface is broken on notifications but I will fix that next.
Fixed the bug when closing and opening the same or another sound
device quickly.
Fixed some locking but there is a lot of work left yet.
2003-06-27 22:22:15 +00:00
Robert Reif
a4ed8e7740 - make parameter checking and error notification consistent
- propagate driver and local function errors where needed
- fix error returns where pointer is given for returned data
- add 3d listener to primary buffer when needed
- copy 3d part of buffer when duplicated
- fix bug when primary buffer is reopened with smaller buffer
- loosen requirements on caps data size check
- set caps for emulated mode based on actual driver caps
2003-05-22 03:39:13 +00:00
Robert Reif
772539a84a Move all tests to outside the loop when setting volume.
Add traces to functions.
2003-05-02 21:23:16 +00:00
Robert Reif
abde7d0acf Reversed relationship between buffers and notifies.
Fixed notify reuse bug.
Minor documentation and error message cleanup.
2003-05-02 20:16:48 +00:00
Alexandre Julliard
c2ebe1ff93 Removed uses of the non standard ICOM_VTBL macro. 2003-04-10 18:17:34 +00:00
Jerry Jenkins
5f4e4a5094 Align data to proper size. 2003-04-07 23:18:31 +00:00
Ove Kaaven
6fb0277699 Somewhat more reliable dsound position notifications. 2003-03-17 21:23:12 +00:00
Robert Reif
89b469fefe Added support for multiple direct sound devices. 2003-03-15 00:54:11 +00:00
Robert Reif
8c2ec131a8 Added a configuration option for setting the hardware acceleration
level just like the direct sound control panel app.
More work on the full duplex interface so the compile warning is no
longer generated.  Full duplex interface is still stubbed out.
Moved full duplex mixer reset fix into wineoss driver where it
belongs.
Added some more locking fixes.
Capture and full duplex are now stable.
2003-03-06 22:46:34 +00:00
Robert Reif
15cc17fbcf Fixed code to handle full duplex properly.
Added support for capture driver (disabled).
Fixed direct sound capture test to handle notifications properly.
2003-03-04 02:12:34 +00:00
Francois Gouget
8e9dcb6655 Use the same 8/16bit conversion routines as in pcmconverter.c.
Reorder the two ifs in the first part of cp_fields to simplify the
code.
2003-01-16 00:20:07 +00:00
Francois Gouget
8325deaa33 Fix latent deadlock in DSOUND_callback. 2003-01-11 20:53:43 +00:00
Alexandre Julliard
b34fb35b31 Fixed warnings caused by conversion to -DSTRICT. 2002-10-18 23:48:57 +00:00
Patrik Stridvall
9c1de6de30 Moved all the content of the DDK files ntdef.h and ntddk.h to
winternl.h.
2002-09-12 22:07:02 +00:00
Patrik Stridvall
d016f819f1 Added include protection for unistd.h and sys/time.h. 2002-08-17 00:43:16 +00:00
Ove Kaaven
935e3df35c Support DirectSound 8 interfaces. Split interface implementations into
separate files. Split primary buffer and secondary buffer interfaces
into separate implementations. Made the primary buffer state part of
the dsound object, so primary buffer objects can be created and
refcounted independently. Made the interfaces follow COM aggregation
rules more closely. Converted the dsound critical section to a R/W
lock to improve potential remixing concurrency. Fixed various bugs and
refcounting issues.
2002-06-13 19:15:06 +00:00