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
Francois Gouget
0edbaf7e80
Remove spaces before '\n' in traces.
2005-11-10 12:14:56 +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
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
Vincent Béron
7160af007c
Uniformize DllMain TRACEing across dlls.
2005-08-15 10:48:51 +00:00
Mike McCormack
257c337c19
gcc 4.0 -Wpointer-sign fixes (Reg* functions).
2005-07-07 12:08:42 +00:00
Francois Gouget
9769816b6e
Fix winapi_check documentation warnings.
2005-06-17 20:58:33 +00:00
Alexandre Julliard
2e5cc85dcf
Moved config parameters to HKCU\Software\Wine\DirectSound.
2005-06-14 12:34:00 +00:00
Alexandre Julliard
2e4bca9db5
Added magic comments to all Wine-specific registry accesses to make
...
them easier to grep.
2005-06-13 18:56:00 +00:00
Michael Jung
e483b0cf9b
Fixed confusing indentation.
2005-06-08 18:32:19 +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 Shearman
54160222a0
Rename MODULENAME_Dll* functions to Dll* for better consistency and
...
type checking.
2005-05-17 14:41:37 +00:00
Peter Berg Larsen
e732fc023d
Janitorial: Get rid of strncpy/strncpyW.
2005-03-28 14:17:51 +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
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
7d92b5d8b4
Fix structure member name to match windows headers and fix up all
...
uses.
Nameless struct fix for dsound/propset.c to compile on both windows
and wine.
2005-01-28 17:21:07 +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
James Hawkins
6847d5956a
Return CLASS_E_NOAGGREGATION if pUnkOuter is non-null.
2005-01-14 15:12:43 +00:00
Francois Gouget
486d020c1b
Don't define COBJMACROS in objbase.h.
...
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Robert Reif
b970aeb4b7
Cleanup reference counting.
2004-09-16 19:08:04 +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
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
Alexandre Julliard
48c4bb3c31
Get rid of the non-standard ICOM_VTABLE macro.
2004-08-12 23:00:51 +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
5d8997d881
Create DirectSound or DirectSound8 depending on riid.
2004-07-06 19:25:59 +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
Eric Pouech
df93f2eeee
GetModuleFileName[AW] doesn't terminate the string if the buffer is
...
too small.
2004-05-19 03:22:55 +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
14a7c6ddca
Remove unused lock.
2004-03-17 01:44:15 +00:00
Robert Reif
7ecf3d03c2
Fallback to software buffer if duplicating hardware buffer fails.
2004-02-06 05:21:37 +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
e29357c2d3
Fixed some traces.
...
Fixed spec file to match Microsoft dll.
2003-10-01 03:05:25 +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
7d43d7bb3b
Use the drivers to get device capabilities and property sets.
2003-09-03 19:28:20 +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
8c37581dd7
Fixed a bug where a NULL primary buffer pointer is used when the
...
DirectSound object didn't create properly.
2003-07-28 19:01:20 +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
Lionel Ulmer
f5a4a9b60a
Give the right ids to the DirectSoundCreate8 function (thanks to
...
Robert Reif).
2003-05-04 02:24:36 +00:00
Lionel Ulmer
6ad962142f
- misc. tracing fixes
...
- handle IID_IDirectSound(8) as the default sound driver
2003-05-02 21:22:49 +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
Robert Reif
e743e091ed
Added partial property set support which is used by dxdiag.exe.
2003-04-29 22:49:52 +00:00
Alexandre Julliard
c2ebe1ff93
Removed uses of the non standard ICOM_VTBL macro.
2003-04-10 18:17:34 +00:00
Robert Reif
fa13d013e8
Fixed a problem when multiple devices are present and a device other
...
than the first one is used.
2003-04-05 05:11:02 +00:00
Robert Reif
aeddf2c409
Added wide character enumeration of sound devices.
2003-04-03 18:03:01 +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
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
Francois Gouget
32140adefa
DSB.SetFormat:Trace the requested format as soon as possible in case
...
it is not supported and simplify validity check.
Initialize the buffer format, and only from the fields we checked.
DirectSoundCreate8 fully initializes the buffer format (just in case).
2003-01-11 20:54:56 +00:00
Francois Gouget
112cf22a12
Always open the device in the default 22050x8x2 format, and let it
...
report the actual device format to us.
2003-01-07 19:43:18 +00:00
Alexandre Julliard
26d648887a
Back out the aRts volume patch, this is not user-friendly at all.
2002-12-05 19:20:36 +00:00
Francois Gouget
ee4d9c5e29
Return an error if dwSize is not valid.
...
No need to dump dwFlags before it is initialized.
2002-12-05 19:00:56 +00:00
Ove Kaaven
4774477b2b
Fix for soundcards that can't do 8-bit audio, only 16-bit (also
...
checked for soundcards that can't do stereo while I was at it).
2002-09-29 18:01:33 +00:00
Jerry Jenkins
062425aee4
Added waveOutSetVolume when opening sound driver. Otherwise, there is
...
no sound if we use aRts.
2002-09-17 01:29:01 +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
Michael Stefaniuc
bacc1b3b58
- Converted HWAVE, HWAVEIN, HWAVEOUT to void*.
...
- Fixed some HMIDI{IN,OUT}16 to HANDLE conversions.
- midiOutCacheDrumPatches16 called itself recursively in an infinite
loop.
2002-08-02 19:02:49 +00:00
Alexandre Julliard
7015ce3096
No need to call GetModuleFileName16 now that GetModuleFileNameA
...
handles 16-bit tasks.
2002-07-05 01:28:10 +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
Vincent Béron
9a62491660
Removed trailing whitespace.
2002-05-31 23:06:46 +00:00
Johan Gill
7c61a61616
Only enumerate DirectSound devices if the first sound device in the
...
system supports the Wine implementation of DirectSound. Also added
some entries to the sample config file and changed the values of the
"EmulDriver" key to "Y"/"N".
2002-05-28 22:45:58 +00:00
Joris Beugnies
ff60a9a27b
Make defines configurable at run-time.
2002-05-11 22:53:00 +00:00
Johan Gill
8fc98cdef8
DirectSoundEnumerateA() now passes a GUID to the callback if the first
...
call returned TRUE.
2002-05-01 18:05:30 +00:00
Alexandre Julliard
5769d1de00
Better support for configure detection of missing types, added check
...
for ssize_t.
Removed a couple of no longer used portability functions.
Various portability fixes in port.h.
2002-04-26 19:05:15 +00:00
Eric Pouech
c745b52803
A bit more robust against wave???Open failures.
2002-04-22 22:36:18 +00:00
Chris Morgan
ace56c62a3
Dsound will now try as many devices as are available when trying to
...
open a waveOut device in DirectSoundCreate().
2002-03-25 20:52:17 +00:00
Chris Morgan
9b0ba7ca2b
Added aRts driver.
2002-03-21 01:38:19 +00:00
Alexandre Julliard
0799c1a780
Added LGPL standard comment, and copyright notices where necessary.
...
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Ove Kaaven
f250b6b5fa
Further unified HAL and HEL mixing, and added some more intelligence
...
to prebuffering, with some basic prebuffer canceling support, to get
rid of mixing delays in Half-Life. Used a very small waveout buffer
queue in HEL mode, using a callback to queue additional buffers, to
get rid of playback delays in Half-Life. Fixed a couple of bugs.
2002-01-02 21:46:54 +00:00
Ove Kaaven
fdebace998
Fix buffering problems in HEL mode.
2001-09-10 23:08:11 +00:00
Patrik Stridvall
2344798c46
Fixed some warnings.
2001-07-26 21:44:44 +00:00
Patrik Stridvall
3ca9823941
Documentation ordinal fixes.
2001-06-20 23:03:14 +00:00
Patrik Stridvall
8b216b3d02
Documentation ordinal fixes.
2001-06-19 18:20:47 +00:00
Marcus Meissner
9c0ae56d39
Added definitions for IKsPropertySet, small stub implementation for
...
IDirectSound3DBuffer. Fixed one pointer reference.
2001-06-13 19:36:10 +00:00
Andreas Mohr
c2bc22b91c
Spelling fixes.
2001-05-24 18:44:25 +00:00
Francois Gouget
e76218dd61
Add '\n' at the end of traces.
2001-05-09 17:31:31 +00:00
Ove Kaaven
ed739334f4
Fixed sound disappearing after on-the-fly sample rate changes and
...
after certain underrun conditions.
Compilation fixes for when USE_DSOUND3D is defined.
2001-03-19 19:14:39 +00:00
Alexandre Julliard
ddf825660e
Chris Jacobson
...
Small bug fix.
2001-03-03 00:19:29 +00:00
Ove Kaaven
62510ddbf6
Fixes for various underrun-related problems. Also added a mechanism
...
for the sound driver to request that a Stop should close and reopen
the device.
2001-01-13 01:00:00 +00:00
Johan Gill
d8dea427c1
Added a more truthful message about what really is wrong.
2001-01-06 00:36:14 +00:00
Eric Pouech
ad250aac34
Now using manifest constant instead of raw values for all the
...
DRV_QUERY??? values.
2001-01-04 19:53:51 +00:00
Ove Kaaven
865cf3752c
Bugfix for sound dropping out, and workaround for Half-Life's
...
braindead secondary sound buffer management.
2001-01-02 21:02:32 +00:00
Ove Kaaven
0c7c94b956
More intelligent DirectSound prebuffering. By tracking the
...
last-written position of streaming buffers, it attempts to avoid
prebuffering past this position unless necessary; this may avoid a
number of sound problems in various situations. Merged HEL and HAL
mixing code, which should reduce the HEL mode's CPU usage slightly.
2000-12-22 20:31:06 +00:00
Marcus Meissner
eba8cee584
Handle errors for IDsDriver_GetPosition.
...
Report DSERR_UNINITIALIZED on non-opened WineOSS audio device.
2000-12-21 20:49:26 +00:00
François Gouget
44a182229b
winuser.h now requires that we include winbase.h first.
2000-12-19 04:53:20 +00:00
Alexandre Julliard
5be8e7d8e0
Created a small static library in ole/libuuid.a that contains all the
...
UUID definitions (with the help of Francois Gouget).
2000-12-06 01:50:47 +00:00
Andreas Mohr
49b3cec137
Reimplement patch by Marcus Meissner ('98) to "fix" problems with
...
DSCAPS_EMULDRIVER flag for games like Quake 2 and Unreal Tournament.
2000-10-25 20:30:31 +00:00