Maarten Lankhorst
98933362f3
dsound: Hold lock in GetStatus.
2008-04-07 11:34:28 +02:00
Maarten Lankhorst
021019ff8f
dsound: Add an option to mix sound buffers in the mixer again.
2008-03-17 14:44:46 +01:00
Maarten Lankhorst
2a117a2017
dsound: Add support for WAVEFORMATEXTENSIBLE format.
2007-11-07 11:48:56 +01:00
Maarten Lankhorst
7144849d0b
dsound: Fix null pointer dereference for waveout in creating buffer.
2007-09-10 15:29:47 +02:00
Maarten Lankhorst
7ce277d018
dsound: Handle secondary hardware buffers more correctly.
...
Only try hardware if asked for it, then return an error instead of
falling back to software.
2007-08-27 12:26:25 +02:00
Maarten Lankhorst
36e9054629
dsound: Move resampling away from mixer thread.
2007-08-02 11:53:31 +02:00
Maarten Lankhorst
34893a914b
dsound: Silence the IDirectSoundBuffer_Initialize warnings.
2007-07-30 23:37:58 +02:00
Maarten Lankhorst
237b293829
dsound: Replace buffer critical section with a rw-lock.
2007-07-30 23:37:58 +02:00
Maarten Lankhorst
976f56d6c0
dsound: Simplify IDirectSoundBufferImpl_GetCurrentPosition.
2007-07-09 12:15:58 +02:00
Maarten Lankhorst
2b8a1815e6
dsound: Remove some more unused variables.
2007-07-09 12:15:40 +02:00
Maarten Lankhorst
f13f48876c
dsound: Clean up some unused variables.
2007-07-06 19:28:59 +02:00
Maarten Lankhorst
6d97123536
dsound: Fix calcplayposition to handle mixed amount > buffer length better.
2007-06-29 18:58:13 +02:00
Maarten Lankhorst
a7d6ed8ea6
dsound: Simplify mixing by removing remixing support, and fix its waveout breakage.
...
Based on a patch by Peter Dons Tychsen.
2007-06-22 12:23:18 +02:00
Maarten Lankhorst
13af056628
dsound: Recalculate 3d buffer on SetVolume.
2007-06-04 12:55:47 +02:00
Maarten Lankhorst
909ed9937a
dsound: Fix buffer caps.
2007-06-04 12:55:41 +02:00
Maarten Lankhorst
2360358944
dsound: Block align SetCurrentPosition and add test for it.
2007-05-25 19:31:05 +02:00
Andrew Talbot
1e4c97175e
dsound: Exclude unused headers.
2007-05-03 14:23:53 +02:00
Jan Zerebecki
4c4821e305
dsound: Conform critical section DebugInfo names.
2007-03-12 13:40:22 +01:00
Tomas Carnecky
9b4f99782e
dsound: Update prototypes for IDirectSoundBuffer::Lock/Unlock.
2007-03-08 21:30:54 +01:00
Michael Stefaniuc
26bd2ec9c3
dsound: Win64 printf format warning fixes.
2006-11-13 12:49:04 +01:00
Alexandre Julliard
179a4e0a2e
dsound: Make some functions static.
2006-08-02 13:26:14 +02:00
Alexandre Julliard
bc99ac09d3
dsound: Don't use sizeof in traces to avoid printf format warnings.
2006-06-13 14:10:32 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Robert Reif
b06a06090a
dsound: Check DirectSoundBuffer_Lock parameters.
...
Check DirectSoundBuffer_Lock parameters and return an error (like
Windows) rather than fixing up the parameters.
2006-05-05 17:29:13 +02:00
Robert Reif
52e384f9fb
dsound: Rename some functions, make some functions global, and move
...
some code around.
2006-01-14 17:06:52 +01:00
Robert Reif
e49a5c22fb
dsound: Refactor playback.
...
Replace references of IDirectSoundImpl with DirectSoundDevice to
remove one level of indirection and remove the problem of a three
object circular reference.
2006-01-06 12:35:20 +01:00
Robert Reif
0265676a27
dsound: Remove WINAPI from internal functions.
2006-01-03 17:32:50 +01:00
Robert Reif
669b79b8f5
Change secondary buffer variable name to secondary.
...
Fix AddRef and Release to use proper class.
2005-10-19 19:21:38 +00:00
Robert Reif
6727c52f3b
Include winuser.h so the code compiles cleanly on windows using
...
windows headers.
2005-10-17 09:24:50 +00:00
Alexandre Julliard
f8ee161a1b
Fixed some traces to use the right printf format and avoid typecasts.
2005-09-12 10:30:05 +00:00
Alexandre Julliard
20a1a203c6
Use a more portable scheme for storing the name of a critical
...
section.
2005-09-09 10:19:44 +00:00
Dmitry Timoshkov
b67da5b946
Make more of the OLE interface vtables const.
2005-06-01 19:57:42 +00:00
Robert Reif
a2f1fd3aca
Add multiple DIRECTSOUND object support (multiple sound cards can play
...
at the same time).
Fix CoCreateInstance when no sound card is present.
Fix create bug found by Mike Hearn.
2005-05-31 09:31:37 +00:00
Robert Reif
70fe39e42c
Remove dead code and redundant variables from DSOUND_CalcPlayPosition
...
and callers.
2005-05-09 09:23:54 +00:00
Francois Gouget
f5c9da6860
Assorted spelling fixes.
2005-05-06 15:44:31 +00:00
Robert Reif
b8d6b310f9
Fixed invalid buffer size by rounding up to next multiple of
...
nBlockAlign.
Added test to verify buffer rounding behavior.
2005-02-16 16:09:02 +00:00
Robert Reif
f8833daef1
Removed printing of thread id for AddRef and Release because
...
WINEDEBUG=+tid gives the same result.
General consistency cleanup.
2005-02-11 11:49:05 +00:00
Robert Reif
249bc5caea
Always allocate an empty buffer.
2005-02-10 17:09:20 +00:00
Robert Reif
098817950d
Fill new software buffers with silence.
2005-02-09 14:05:00 +00:00
Robert Reif
364c0d53f9
Remove unused includes.
2005-01-24 13:31:27 +00:00
Robert Reif
ef847a0303
Use Windows memory functions.
2005-01-24 12:40:45 +00:00
Michael Stefaniuc
5ad7d858e0
Do not check for non NULL pointer before HeapFree'ing it. It's
...
redundant.
2004-12-23 17:06:43 +00:00
Robert Reif
373ab78519
Always create a property set for secondary buffers.
2004-12-06 11:42:58 +00:00
Robert Reif
8a8ee786ee
Cleanup reference counting.
...
AddRef and Release return ULONG.
2004-09-17 18:10:59 +00:00
Robert Reif
b970aeb4b7
Cleanup reference counting.
2004-09-16 19:08:04 +00:00
Robert Reif
adc6948c4c
Remove lock name from lock debug structure before deletion so it gets
...
freed properly.
2004-09-10 22:30:05 +00:00
Robert Reif
6f9d41673f
Return error from low level driver when necessary.
2004-09-10 19:34:01 +00:00
Alexandre Julliard
314b99c48f
Removed some more uses of the non-standard ICOM_THIS macro.
2004-09-09 20:17:07 +00:00
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
Alexandre Julliard
f714b39762
Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
...
macro.
2004-08-23 19:39:48 +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
1d3c40d577
Delete buffer array when releasing last buffer.
2004-08-16 19:59:54 +00:00
Alexandre Julliard
48c4bb3c31
Get rid of the non-standard ICOM_VTABLE macro.
2004-08-12 23:00:51 +00:00
Francois Gouget
4d73f22245
Remove the assert()s that checked that IDirectSoundBuffer_Lock() is
...
given two distinct pointers.
2004-08-09 22:56:45 +00:00
Robert Reif
7ef15a607c
Adds debug name to remaining critical sections.
2004-08-06 17:30:00 +00:00
Francois Gouget
9f40a12ed6
Small cleanup in IDirectSoundBufferImpl_SetPan().
2004-07-23 22:58:59 +00:00
Robert Reif
605cc1b029
Remove DirectSound reference counts by buffers and add Destroy
...
functions to buffer components and DirectSound to allow proper
destruction even with outstanding references.
Remove trailing white space.
Add tests for proper release even with active buffers.
2004-07-13 23:35:09 +00:00
Robert Reif
84e292c614
Fix IDirectSoundBuffer8_Initialize function prototype and use.
2004-07-06 19:27:00 +00:00
Robert Reif
dbb03ec6dc
Fixes support for older versions of direct sound.
...
Adds support for deleting notification array.
Minor debug and white space cleanups.
2004-04-19 02:58:45 +00:00
Robert Reif
9fde8228e1
Fallback to software buffer if failed to create hardware buffer.
...
Minor code cleanups.
2004-02-06 05:25:56 +00:00
Robert Reif
7dd637467a
Added some missing defines and a struct.
...
Fixed some const * arguments.
2004-01-09 22:06:54 +00:00
Robert Reif
58fe9f1fc0
Initialize buffer reference count.
2003-11-17 20:03:42 +00:00
Oleg Prokhorov
de12a97041
Another portion of HeapReAlloc fixes.
2003-10-14 05:24:20 +00:00
Robert Reif
725d8c39aa
Device enumeration callbacks should return a NULL guid for default
...
devices.
Fixed some volume and pan cases.
Added missing property set.
Fixed capture notification bug.
2003-09-15 20:08:05 +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
7d43d7bb3b
Use the drivers to get device capabilities and property sets.
2003-09-03 19:28:20 +00:00
Robert Reif
e9ebbfc0ff
Now that reference counting is correct, there is no need to check if
...
the base object goes away.
2003-09-02 00:56:14 +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
b805f0f1b7
Split property sets into two types: buffer and private.
2003-08-20 18:18:23 +00:00
Robert Reif
f5080c86e5
Added class factories for DirectSoundCapture, DirectSoundFullDuplex
...
and DirectSoundPrivate.
Added error checking to QueryInterface and CreateInterface.
Added some more functionality to property sets.
2003-08-06 22:57:24 +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
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
Robert Reif
89b469fefe
Added support for multiple direct sound devices.
2003-03-15 00:54:11 +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
Robert Reif
5be7f69d72
Added support for direct sound capture and a real direct sound capture
...
driver. Capture now works with some skipping. Full duplex does not but
I will be working on that next.
2003-02-15 00:01:17 +00:00
Francois Gouget
78561f3eb3
IDirectSoundBuffer.GetCaps should fail if caps.dwSize is not set.
2002-12-13 20:26:23 +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