Commit Graph

65 Commits

Author SHA1 Message Date
Maarten Lankhorst
3bafbb22b8 dsound: Use smaller buffers for wavein capture. 2007-10-01 12:42:42 +02:00
Maarten Lankhorst
5d0b1fabd3 dsound: Update DSOUND_PrimarySetFormat to follow flags and return values more precisely. 2007-08-27 19:28:03 +02:00
Maarten Lankhorst
7519326d03 dsound: Add a function to (re)open sound device to avoid code duplication. 2007-08-27 19:27:47 +02:00
Maarten Lankhorst
36e9054629 dsound: Move resampling away from mixer thread. 2007-08-02 11:53:31 +02:00
Maarten Lankhorst
575f34e548 dsound: Add SndQueueMin to have less lock contention in mixer. 2007-07-31 22:20:55 +02:00
Maarten Lankhorst
60f4db0345 dsound: Get rid of DS_HEL_FRAGS. 2007-07-31 22:20:21 +02:00
Maarten Lankhorst
7fcce036da dsound: Add a registry setting for hel buffer length. 2007-07-31 22:19:57 +02:00
Maarten Lankhorst
3b9877fa14 dsound: Constify DSOUND_CheckEvent. 2007-07-30 23:37:58 +02:00
Maarten Lankhorst
bfa05bf232 dsound: Remove some more unused variables. 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
e28da99e4c dsound: Tune some parameters for alsa waveout. 2007-06-22 12:23:24 +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
6e9276e970 dsound: Primary buffer isn't an IDirectSoundBuffer8. 2007-05-14 14:29:33 +02:00
Michael Stefaniuc
0f08667c8a dsound: Fix the declaration/definition of DSOUND_timer(). 2006-11-13 12:48:27 +01:00
Robert Reif
595d6aa6fb dsound: Class factory cleanup.
Consolidate all class factories into a single implementation.
Fixes a problem discovered by oleview.
2006-08-18 12:04:49 +02:00
Alexandre Julliard
179a4e0a2e dsound: Make some functions static. 2006-08-02 13:26:14 +02:00
Alexandre Julliard
bbeeea4b88 dsound: Make the virtual table functions static where possible. 2006-06-10 11:57:48 +02:00
Jonathan Ernst
360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Robert Reif
44b7760e6a dsound: Set default primary buffer sample rate and bits per sample.
Programs that are written specifically for 2000 and xp don't bother to
set the primary buffer format because it's a noop.  However wine is
patterned after win9x and DirectX 7 or earlier which has a real
primary buffer and expects the program to change the primary buffer
format if necessary.
2006-04-08 15:48:59 +02:00
Robert Reif
27e591959f dsound: Add full duplex support. 2006-01-17 16:13:58 +01:00
Robert Reif
3a4e11cd24 dsound: Convert IDirectSoundImpl from a COM class to a regular class
and move most of the COM functions to the DirectSoundDevice class.
2006-01-17 16:10:15 +01:00
Robert Reif
eb919b5263 dsound: Make dumpCooperativeLevel global.
Remove extern from some function prototypes.
2006-01-16 20:39:52 +01:00
Robert Reif
34ec3a633a dsound: Make some capture functions global. 2006-01-16 20:39:14 +01: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
2d82fc42f0 dsound: Add DSOUND_PrimarySetFormat and use it to set primary format. 2006-01-14 17:06:22 +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
5070268711 dsound: Capture refactoring.
Move initialization code from DirectSoundCapture to
DirectSoundCaptureDevice.
Make DirectSoundCaptureBuffer directly reference
DirectSoundCaptureDevice rather than DirectSoundCapture to eliminate
one level of indirection.
Rename DSOUND_CreateDirectSoundCaptureBuffer to
IDirectSoundCaptureBufferImpl_Create to be consistent.
2006-01-05 13:37:15 +01:00
Robert Reif
7643df49d7 dsound: Capture cleanup.
Move code and function prototypes around to eliminate forward
declarations.  No code is changed.
2006-01-04 14:49:34 +01:00
Robert Reif
0265676a27 dsound: Remove WINAPI from internal functions. 2006-01-03 17:32:50 +01:00
Robert Reif
0c488e76b1 Remove unused variable from IDirectSoundFullDuplexImpl.
Move DirectSoundFullDuplexCreate to get rid of forward declarations.
2005-10-27 10:18:51 +00: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
Mike McCormack
0791d06215 Interlocked LONG* gcc warning fixes. 2005-07-12 19:21:36 +00:00
Robert Reif
5c8fb16893 Finish DirectSoundCapture/DirectSoundCapture8 split.
Add tests to verify split.
2005-06-04 09:38:14 +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
Robert Reif
7f6536c504 Change some global variable names.
Cleanup usage of global dsound variable to not use local variable of
same name.
Almost ready to add support for more than one sound card at the same
time.
2005-03-15 15:40:35 +00:00
Robert Reif
b0d74e6bf3 Fixed memory leak in mixer code. 2005-01-24 11:27:05 +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
7bf4eee7ad Remove wine specific DRV_QUERYDSOUNDGUID message and calculate it in
dsound.dll (like in 2k/xp).
2004-08-20 20:01:31 +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
Alexandre Julliard
0467ce9fd7 Get rid of the non-standard ICOM_VFIELD macro. 2004-08-12 19:52:49 +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
02a8ab2fee Save enumerated GUIDs in a global array so they persist after
enumeration.
White space cleanup.
Add tests for opening default devices.
2004-07-21 03:23:13 +00:00
Robert Reif
3ce9c5f4b8 Do initialization to match windows behavior (with test). 2004-07-19 20:06:22 +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
31f817b6f9 Separated DirectSoundCreate8 into two functions and added a
IDirectSound implementation.
Added proper COM behavior for QueryInterface for IDirectSound and
IDirectSound8.
Fixed a bug in the dsound.h header file for IDirectSound8
CreateSoundBuffer and DuplicateSoundBuffer.
Added new tests for proper COM behavior and enables some commented out
code for tests that work on windows.  Added new tests for
IDirectSound8.
2004-07-04 00:13:44 +00:00