Michael Stefaniuc
37df4671cb
dsound: Merge IDirectSound3DListener into the primary buffer object.
2012-01-16 12:45:33 +01:00
Michael Stefaniuc
044edbb625
dsound: Get rid of some LPDIRECTSOUNDBUFFER usage.
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
287a6e8473
dsound: Validate format in primary buffer's SetFormat().
2011-12-05 12:23:37 +01:00
Andrew Eikum
c59ecdcefb
dsound: Don't specify period size for the IAudioClient.
...
We don't actually care what period size gets used (in fact, docs say the
parameter is entirely ignored in Shared mode).
2011-11-15 19:37:37 +01:00
Andrew Eikum
c60583ab8b
dsound: Fix type conversion problems.
2011-10-18 15:11:32 +02:00
Andrew Eikum
9d29d9f766
dsound: Request a more exact buffer size from MMDevAPI.
2011-10-13 19:57:18 +02:00
Andrew Eikum
6c33e87259
dsound: Eliminate leftover driver structures.
2011-09-28 10:59:31 +02:00
Andrew Eikum
e786998daf
dsound: Reimplement rendering devices on mmdevapi.
2011-09-27 16:53:51 +02: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
a2bc634eaa
dsound: Handle primary buffers in IDirectSoundBufferImpl_SetFormat.
2011-08-31 19:43:06 +02:00
Michael Stefaniuc
3747fb74a1
dsound: Move the primary buffer description into the buffer object.
2011-08-31 19:43:06 +02:00
Michael Stefaniuc
c0565143f9
dsound: Don't delete the primary buffer if a sub iface is still in use.
2011-08-31 19:43:05 +02:00
Michael Stefaniuc
ffb51208e9
dsound: Use the same struct for the primary buffer object as for the secondary.
2011-08-31 19:43:05 +02:00
Andrew Eikum
ca4ee7f60f
dsound: Request that WinMM perform audio conversion if the hardware doesn't support the requested format.
2011-07-14 14:39:51 +02:00
Nick Bowler
681d544620
dsound: Restore old format on SetFormat failure.
2010-10-04 15:00:05 +02:00
Alexandre Julliard
5da782ac53
dsound: Fix an invalid pointer cast.
2009-12-31 12:12:15 +01:00
Francois Gouget
ff0717766c
dsound: Make DSOUND_PrimarySetFormat() static.
2009-12-02 14:19:47 +01:00
Jörg Höhle
dc3471ca0e
dsound: Enforce invariant about BlockAlign and nAvgBytesPerSec.
2009-10-06 16:13:17 +02:00
Michael Stefaniuc
e1d59b94fb
dsound: Arguments 3,4,5 of a CALLBACK are of type DWORD_PTR.
...
(LPWAVEHDR)->dwUser is also a DWORD_PTR.
2009-02-12 11:53:42 +01:00
Jeff Zaroyko
aff1dbe531
dsound: Check for invalid parameter when locking primary and secondary buffers.
2009-01-02 12:48:15 +01:00
Jeff Zaroyko
14db70036d
dsound: Check for invalid parameter when unlocking primary buffers.
2009-01-02 12:48:09 +01:00
Reece Dunn
ce06de4208
dsound: Correct the dsound fraglen calculations.
2008-12-22 14:56:19 +01:00
Maarten Lankhorst
a4a9d50dd9
dsound: Fix volume and panning for primary buffer.
...
Fixes failing dsound tests in wine.
2008-10-06 13:08:46 +02:00
Rob Shearman
7af7e8ece5
dsound: Add explicit "!= S_OK" to expressions that use HRESULTs as booleans.
2008-09-12 16:50:10 +02:00
Maarten Lankhorst
dc22442141
dsound: Tune some parameters to make pulseaudio work.
2008-08-22 10:41:16 +02:00
Andrew Talbot
e8aebfcb4b
dsound: Assign to structs instead of using CopyMemory.
2008-03-31 12:50:30 +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
4d1129f785
dsound: Use a 2 stage mixing/normalization for sound.
2007-11-09 12:24:06 +01:00
Maarten Lankhorst
3230ea026a
dsound: Make sure device buflen is initially set to ds_hel_buflen.
2007-10-15 14:52:30 +02:00
Maarten Lankhorst
6ad603d219
dsound: Release buffer before reopening when buffer is too small.
2007-10-09 17:52:46 +02:00
Maarten Lankhorst
3bafbb22b8
dsound: Use smaller buffers for wavein capture.
2007-10-01 12:42:42 +02:00
Maarten Lankhorst
6506dff8b8
dsound: Check if hardware buffer is big enough before accepting it.
2007-09-27 11:08:05 +02:00
Maarten Lankhorst
d65ae3ffe9
dsound: Support arbitrarily sized buffers for waveout.
2007-09-11 12:38:04 +02:00
Maarten Lankhorst
0c4ec8a1cc
dsound: Fix overshot calculations.
2007-09-11 12:38:01 +02:00
Maarten Lankhorst
7a04c24e63
dsound: Fix detection of different sample rates in setformat.
2007-09-10 15:29:47 +02:00
Francois Gouget
a116879507
Assorted spelling fixes.
2007-08-30 12:26:02 +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
3838a770c1
dsound: Make sure waveOutClose is only called when using mmsystem.
2007-08-27 12:25:52 +02:00
Maarten Lankhorst
2ececbeda9
dsound: Transparantly fall back to software mode if hardware mode is unavailable.
2007-08-23 12:37:47 +02:00
Maarten Lankhorst
4ef6e8eaa0
dsound: Move assignment of DSBCAPS_LOC to primary buffer creation time.
2007-08-22 12:18:59 +02:00
Alexandre Julliard
3d30204156
dsound: Fix a compiler warning.
2007-08-21 12:43:15 +02:00
Maarten Lankhorst
9c469e1a94
dsound: Handle failing of IDsDriver_CreateSoundBuffer better.
2007-08-20 22:22:10 +02:00
Maarten Lankhorst
3f762d5d0b
dsound: Sound acceleration fixes.
2007-08-06 13:56:20 +02:00
Michael Stefaniuc
efe4573bc8
dsound: Remove redundant NULL check before HeapFree. Found by Smatch.
2007-08-06 12:18:08 +02:00
Maarten Lankhorst
36e9054629
dsound: Move resampling away from mixer thread.
2007-08-02 11:53:31 +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
bfa05bf232
dsound: Remove some more unused variables.
2007-07-30 23:37:58 +02:00
Maarten Lankhorst
34893a914b
dsound: Silence the IDirectSoundBuffer_Initialize warnings.
2007-07-30 23:37:58 +02:00
Maarten Lankhorst
de9cecaaa8
dsound: Reset state when stopping device.
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
Francois Gouget
a3317a5c01
Assorted spelling fixes.
2007-07-05 19:56:34 +02:00
Maarten Lankhorst
f4d5f127dd
dsound/winealsa: Remove writelead for alsa directsound.
2007-06-28 12:16:14 +02:00
Alex Villacís Lasso
1a23836f91
dsound: Reset device playpos/mixpos on buflen change.
2007-06-26 11:54:51 +02:00
Michael Stefaniuc
2323e79e36
dsound: Fix missing unlock on an error path. Found by Smatch.
2007-06-25 11:43:44 +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
9591246002
dsound: Give rougher estimates for fraglen to satisfy alsa.
2007-06-22 12:20:00 +02:00
Maarten Lankhorst
909ed9937a
dsound: Fix buffer caps.
2007-06-04 12:55:41 +02:00
Maarten Lankhorst
c83fd812f1
dsound: Fix stupid mistake.
2007-05-29 11:55:14 +02:00
Maarten Lankhorst
6e9276e970
dsound: Primary buffer isn't an IDirectSoundBuffer8.
2007-05-14 14:29:33 +02:00
Andrew Talbot
1e4c97175e
dsound: Exclude unused headers.
2007-05-03 14:23:53 +02:00
Maarten Lankhorst
836776ae4f
dsound: Make sure we're holding the lock on Drop And Stop.
2007-04-23 14:05:42 +02: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
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
0265676a27
dsound: Remove WINAPI from internal functions.
2006-01-03 17:32:50 +01: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
261e376495
Fixed a number of pointer to integer conversions that wouldn't work
...
right on a 64-bit platform.
2005-09-12 15:14:06 +00:00
Mike McCormack
4a5378efcd
Fix some gcc 4.0 warnings.
2005-08-30 08:56:35 +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
Francois Gouget
f5c9da6860
Assorted spelling fixes.
2005-05-06 15:44:31 +00:00
Robert Reif
ff77f1343e
Initialize primary buffer on open.
2005-04-11 13:00:00 +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
c50038542a
Some block align cleanups.
2005-02-16 16:26:13 +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
098817950d
Fill new software buffers with silence.
2005-02-09 14:05:00 +00:00
Robert Reif
47f55d6a28
Don't allow other threads to access the primary buffer while the
...
format is being changed.
2005-01-24 13:35:57 +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
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
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
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
Alexandre Julliard
48c4bb3c31
Get rid of the non-standard ICOM_VTABLE macro.
2004-08-12 23:00:51 +00:00
Robert Reif
704e16c32d
Fixed a bug where freqAdjust was not being updated properly when the
...
primary buffer format changed.
2004-08-11 00:18:13 +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
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