Commit Graph

294 Commits

Author SHA1 Message Date
Robert Reif
097e281294 Fix some places where no driver present causes problems. 2004-10-18 19:36:42 +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
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
Francois Gouget
7c89759e88 Make the dsound tests run with DirectX < 8. 2004-09-08 19:08:14 +00:00
Francois Gouget
e3fb36140a Remove the get_hwnd() implementation from propset.c and reuse the
common one.
2004-09-08 19:07:57 +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
Francois Gouget
f3880a29ea Don't use DSBCAPS_{CTRLDEFAULT,CTRLALL} in capability-dumping
functions since they are nothing but a combination of other flags and
are thus redundant.
2004-08-31 18:50:59 +00:00
Robert Reif
f01b871898 DirectSound8 doesn't accept 3D stereo secondary buffers but
DirectSound does.
Added tests.
2004-08-25 02:09:00 +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
1bd7986c93 Only print format info when in interactive mode for capture test.
Cleanup error and info messges.
2004-08-23 17:50:31 +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
b6abcb51a8 Cleanup messages. 2004-08-18 20:53:40 +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
cae33167d2 Cleanup some more messages. 2004-08-18 00:30:12 +00:00
Robert Reif
1d3c40d577 Delete buffer array when releasing last buffer. 2004-08-16 19:59:54 +00:00
Robert Reif
eba298017d Allow proper release while capturing. 2004-08-16 19:59:37 +00:00
Robert Reif
9d5b0873a0 More dsound tests error message cleanups.
Only display verbose information when in interactive mode.
2004-08-13 19:44:29 +00:00
Alexandre Julliard
48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +00:00
Robert Reif
101599e902 Speed up mixing and unmixing by moving sample size and buffer wrap
tests to outside the loop.  The code is not as compact or pretty but
it should be faster.
2004-08-12 20:01:32 +00:00
Alexandre Julliard
0467ce9fd7 Get rid of the non-standard ICOM_VFIELD macro. 2004-08-12 19:52:49 +00:00
Robert Reif
74662974f6 Start cleaning up error messages.
Don't print verbose info unless in interactive mode or debugging.
2004-08-12 03:29:39 +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
Hans Leidekker
dbb3e14748 Fix signed/unsigned comparison warnings. 2004-08-09 18:52:18 +00:00
Robert Reif
fbce110be4 Test different primary buffer formats while keeping the secondary
buffer format constant.
2004-08-09 18:50:06 +00:00
Robert Reif
7ef15a607c Adds debug name to remaining critical sections. 2004-08-06 17:30:00 +00:00
Robert Reif
7bf7bce0da Add CRITICAL_SECTION debug info. 2004-08-04 18:14:21 +00:00
Gerald Pfeifer
0ba37e23d9 Avoid using round(), which is unportable. 2004-08-02 18:47:09 +00:00
Francois Gouget
1426632839 Check the return value of IDirectSoundImpl_Create() to detect errors.
Always set *ppDS to NULL in case of error.
2004-08-02 18:27:16 +00:00
Robert Reif
4c3d661781 Refactored common test code into subroutines.
Added tests for correct Compact behavior.
Added tests for all possible IDirectSound[8] creation modes with good
and bad arguments.
Split dsound.c and ds3d.c into separate files for IDirectSound and
IDirectSound8 interfaces and added code to not execute IDirectSound8
tests when run with a dsound.dll of version 7 or earlier.  We should
now be able to run these tests on a Windows system with DX7 or earlier
(untested).
2004-07-30 18:42:51 +00:00
Robert Reif
b6ab40e977 Added error checking to IDirectSound_Compact.
Fixed IDirectSoundImpl_Create to return DSERR_NODRIVER for a bad
device IID.
2004-07-30 18:42:23 +00:00
Francois Gouget
9f40a12ed6 Small cleanup in IDirectSoundBufferImpl_SetPan(). 2004-07-23 22:58:59 +00:00
Francois Gouget
7433202199 Check that modifying the secondary buffer volume/pan does not change
the primary buffer's volume and pan.
2004-07-23 22:58:46 +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
73bd3be8c8 Downgrade tests to DX8 level so it can build on all windows
platforms.
2004-07-22 20:35:36 +00:00
Robert Reif
0e3629c3d4 Dump DirectSound capabilities flags. 2004-07-22 19:42:11 +00:00
Robert Reif
aa60b5ec0d Removes dsconf IIDs from dxguid.lib.
Fixes propset files for missing IIDs.
2004-07-22 19:40:44 +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
Francois Gouget
cc3a95c6e9 Make the listener/sound position update duration and TIME_SLICE
independent.
Set the sound and listener velocity and increase the sound source
velocity so we may get some doppler effect.
Added some traces so one can monitor the listener/sound positions with
WINETEST_DEBUG=3.
2004-07-19 21:20:38 +00:00
Robert Reif
3ce9c5f4b8 Do initialization to match windows behavior (with test). 2004-07-19 20:06:22 +00:00
Robert Reif
429d3059b1 Fixes the right bugs and keeps intent of test.
Adds more reference count checks.
2004-07-19 19:34:44 +00:00
Francois Gouget
b5ee682cae Don't try to create a IDirectSound3DBuffer, partly to keep this test
simple and partly because it's going to fail since we did not request
DSBCAPS_CTRL3D. Fixes a crash on Windows.
Don't request unneeded caps.
2004-07-17 00:04:17 +00:00
Francois Gouget
57aa9ebc38 Get and print the DirectSound primary buffer volume. 2004-07-16 23:42:44 +00:00
Francois Gouget
910b695822 Keep track of how much has been played and get rid of last_pos. This
fixes a bug where buffer_service() would not detect that everything
had been played.
Check that the actual sound duration was within 10% of the expected
value.
Make BUFFER_LEN and TIME_SLICE independent, make sure TIME_SLICE does
not divide BUFFER_LEN to spice things up a bit.
2004-07-16 23:42:32 +00:00
Francois Gouget
4c64f9bdf9 Call IDirectSound::Initialize() as per MSDN before using the
DirectSound object. Fixes a crash on Windows.
2004-07-16 23:21:46 +00:00
Francois Gouget
acb7207a9d On Windows GetPan() may not return the value that was just set with
SetPan().
2004-07-16 23:21:33 +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
ed9d91e6a1 - Create IDirectSound and IDirectSound8 objects using the
CoCreateInstance COM function to test the Class Factory interfaces.
- Create IDirectSound and IDirectSound8 objects using CreateDirectSound
  and CreateDirectSound8 using a NULL device GUID.
2004-07-12 19:45:28 +00:00
Robert Reif
f66807f248 Better error checking and recovery. 2004-07-09 19:25:39 +00:00
Francois Gouget
ca942f1625 Assorted spelling fixes. 2004-07-08 20:16:23 +00:00
Robert Reif
84e292c614 Fix IDirectSoundBuffer8_Initialize function prototype and use. 2004-07-06 19:27:00 +00:00
Robert Reif
5d8997d881 Create DirectSound or DirectSound8 depending on riid. 2004-07-06 19:25:59 +00:00
Robert Reif
33e4506cda Get certification for VerifyCertification from driver to match
GetCaps.
Change OSS driver to report certified.
Change OSS driver to show message name rather than number in traces.
2004-07-06 18:43:57 +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
Francois Gouget
de9af2414b Split the 'dsound' test into two parts:
- the sound format test. Plays a 5 second reference tone to help
  debug issues with the tone duration and help detect stutter issues.
  Prints explanations describing the sound format interactive
  test. Then plays a 1 second test tone for each supported sound
  format.
- the 3D sound tests. Performs the volume, panning, moving listener
  tests, etc.
2004-06-17 23:03:11 +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
Patrik Stridvall
070db4e5de Fixed some issues found by winapi_check. 2004-05-17 21:08:31 +00:00
Ivan Leo Murray-Smith
10778aa761 Updated the version info of all DirectX dlls to the version numbers of
DirectX 9.0b for Windows 2000/XP.
2004-05-14 21:37:32 +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
92b48ba8f6 Fixed deadlock in capture callback.
Fixed capture test to check all notifications.
Added better debug messages to capture test.
2004-04-06 20:08:54 +00:00
Alexandre Julliard
9e4ed6460c .spec.c files are no longer used for 32-bit dlls. 2004-03-24 03:36:44 +00:00
Robert Reif
14a7c6ddca Remove unused lock. 2004-03-17 01:44:15 +00:00
Alexandre Julliard
589e115233 We no longer use the .exe.spec.c files. 2004-03-02 21:16:37 +00:00
Robert Reif
41b89ddd53 Properly release hardware primary buffer when changing formats. 2004-02-13 20:22:02 +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
7ecf3d03c2 Fallback to software buffer if duplicating hardware buffer fails. 2004-02-06 05:21:37 +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
Alexandre Julliard
20b4585e3c Only link against libdxguid where necessary. 2004-01-27 00:11:16 +00:00
Francois Gouget
998cc56773 Add trailing '\n's to ok() calls. 2004-01-20 21:49:35 +00:00
Robert Reif
370a18f786 Reduce the use of the dsound global variable by passing address to
functions.
2004-01-12 21:02:22 +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
Robert Reif
3f1498fc6c Fixes more use before set races.
Work around for queue reordering feature.
Stop recording on reset.
Better debug info.
Dsound callback capture state fix.
2003-11-14 21:03:24 +00:00
Oleg Prokhorov
de12a97041 Another portion of HeapReAlloc fixes. 2003-10-14 05:24:20 +00:00
Dimitrie O. Paun
fbdfd910c1 Remove SYMBOLFILE and LDDLLFLAGS from Makefiles. 2003-10-11 01:09:15 +00:00
Robert Reif
93d3492f7f Make capture more reliable by submitting all buffers before start.
Added support for non pcm formats.
Added more property set support.
2003-10-08 22:35:26 +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
3237c5a875 Remove capture tests from dsound.c and place them in a new file
capture.c.
2003-09-27 02:21:12 +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
f4866fed8b Added better tests for volume and pan.
Added capture notification test.
Fixed capture query notification test bug.
2003-09-15 20:08:26 +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
28651e8187 Added more tests and restructured tests for easier debugging. 2003-09-01 23:59:03 +00:00
Robert Reif
5ec32cecf2 Added SecondaryBuffer and DirectSoundCaptureNotify COM objects to get
reference counting right.
2003-09-01 23:58:43 +00:00
Dimitrie O. Paun
4ff79add63 Remove some unneeded __WINESRC__ tests from the headers.
Miscellaneous cleanups and fixes.
2003-08-27 02:07:02 +00:00
John K. Hohm
3af19f3e78 Implement DllRegisterServer and DllUnregisterServer for dsound.dll,
and add OleSelfRegister version string.
2003-08-23 23:03:28 +00:00
Robert Reif
0611f902db Added tests for buffer property sets. 2003-08-20 18:18:39 +00:00
Robert Reif
b805f0f1b7 Split property sets into two types: buffer and private. 2003-08-20 18:18:23 +00:00
Robert Reif
fe09afb7cc Fixed bug where last tests were not executed.
Print out sound device info.
2003-08-18 19:52:56 +00:00
Duane Clark
852a37bc64 Move declarations to compile with older compilers. 2003-08-07 20:11:45 +00:00
Alexandre Julliard
21c01853b6 Added propset.ok. 2003-08-07 03:07:26 +00:00
Robert Reif
b5d2f84f87 Added some COM and property set tests.
Added LIBUUID to makefile.
2003-08-06 22:57:48 +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