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
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
41b89ddd53
Properly release hardware primary buffer when changing formats.
2004-02-13 20:22:02 +00:00
Robert Reif
2ea305b02c
Actual buffer format may be different from requested format so use
...
returned one for calculation.
2004-02-06 05:20:28 +00:00
Robert Reif
7dd637467a
Added some missing defines and a struct.
...
Fixed some const * arguments.
2004-01-09 22:06:54 +00:00
Oleg Prokhorov
de12a97041
Another portion of HeapReAlloc fixes.
2003-10-14 05:24:20 +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
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
5ec32cecf2
Added SecondaryBuffer and DirectSoundCaptureNotify COM objects to get
...
reference counting right.
2003-09-01 23:58:43 +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
05fb2c89e1
Fixed a reference counting bug I introduced.
2003-06-18 19:31:44 +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
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
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
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
6bbce6cd22
Initialize the pwave array whenever we don't have a hardware buffer.
...
Always create the wineoss thread.
Change the mmap ERR into a TRACE: there are normal circumstances where
mmap will fail and we can deal with them.
2003-01-15 00:44:50 +00:00