Commit Graph

587 Commits

Author SHA1 Message Date
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 7ce277d018 dsound: Handle secondary hardware buffers more correctly.
Only try hardware if asked for it, then return an error instead of
falling back to software.
2007-08-27 12:26:25 +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 33e1b6ffef dxguid: Remove dsdriver.h from imports. 2007-08-17 12:01:37 +02:00
Maarten Lankhorst b42287ca66 dsound: Handle failing of obtaining IDsDriverNotify. 2007-08-16 11:10:54 +02:00
Francois Gouget ebadbd4bd5 Assorted spelling fixes. 2007-08-09 14:13:07 +02:00
Maarten Lankhorst cdbd17bdb8 dsound: Make hardware acceleration work again. 2007-08-07 12:42:29 +02:00
Maarten Lankhorst c3ebd3652a dsound: Acceleration fixes for wavein emulation. 2007-08-06 13:56:40 +02:00
Maarten Lankhorst abe8c127d9 dsound: Make timer more robust. 2007-08-06 13:56:34 +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 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 34893a914b dsound: Silence the IDirectSoundBuffer_Initialize warnings. 2007-07-30 23:37:58 +02:00
Maarten Lankhorst a335f68bfb dsound: Fix locking in mixer. 2007-07-30 23:37:58 +02:00
Maarten Lankhorst 8aaeb0d4ed dsound: Small mixer optimizations. 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
Maarten Lankhorst f3ed32bca0 dsound: Allow mixing the same buffer multiple times if we are looping. 2007-07-27 12:23:53 +02:00
Maarten Lankhorst 0c3cd2a0e4 dsound: Some cosmetic changes. 2007-07-27 12:23:27 +02:00
Maarten Lankhorst 59a5669a97 dsound: Fix CheckEvent in mixer. 2007-07-27 12:22:33 +02:00
Maarten Lankhorst f94114a88d dsound: Make sure secondary_remainder and buflen are aligned to primary buffer in mixer. 2007-07-27 12:22:27 +02:00
Maarten Lankhorst 976f56d6c0 dsound: Simplify IDirectSoundBufferImpl_GetCurrentPosition. 2007-07-09 12:15:58 +02:00
Maarten Lankhorst a6ab4c51cf dsound: Fix division by zero in DSOUND_Calc3DBuffer. 2007-07-09 12:15:45 +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 c45d4f77c6 dsound: Revert "dsound: Disable property sets if hardware doesn't support it.". 2007-07-06 19:28:53 +02:00
Romain Iehl 684a121aed dsound: Correct field access. 2007-07-06 18:19:40 +02:00
Romain Iehl 8de6b7da40 dsound: Simplify the calculation of sound attenuation due to distance. 2007-07-06 18:19:34 +02:00
Romain Iehl 3a8ae53de4 dsound: Fix bug preventing correct calculation of the sound parameters
of a 3Dbuffer, when an application calls CommitDeferredSettings after
the 3DBuffer has been released.
2007-07-06 18:15:57 +02:00
Francois Gouget a3317a5c01 Assorted spelling fixes. 2007-07-05 19:56:34 +02:00
Maarten Lankhorst 6d97123536 dsound: Fix calcplayposition to handle mixed amount > buffer length better. 2007-06-29 18:58:13 +02:00
Maarten Lankhorst f4d5f127dd dsound/winealsa: Remove writelead for alsa directsound. 2007-06-28 12:16:14 +02:00
Francois Gouget 2f0ca64dac dsound: Add missing '\n' to Wine trace. 2007-06-26 12:12:04 +02:00
Alex Villacís Lasso 1a23836f91 dsound: Reset device playpos/mixpos on buflen change. 2007-06-26 11:54:51 +02:00
Alex Villacís Lasso f2626bab14 dsound: Make test recover from failure to preserve primary buffer length after SetFormat(). 2007-06-26 11:53:16 +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 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 9591246002 dsound: Give rougher estimates for fraglen to satisfy alsa. 2007-06-22 12:20:00 +02:00
Maarten Lankhorst 1081a9b144 dsound: Use TIME_KILL_SYNCHRONOUS on sound timer. 2007-06-14 13:20:34 +02:00
Maarten Lankhorst faa29e9238 dsound: Unset variable on failure in IKsBufferPropertySetImpl_Create. 2007-06-12 11:18:46 +02:00
Maarten Lankhorst 3e1fcc0eb7 dsound: Disable property sets if hardware doesn't support it. 2007-06-04 12:56:13 +02:00
Maarten Lankhorst 13af056628 dsound: Recalculate 3d buffer on SetVolume. 2007-06-04 12:55:47 +02:00
Maarten Lankhorst 909ed9937a dsound: Fix buffer caps. 2007-06-04 12:55:41 +02:00
Francois Gouget 24b315c51f dsound/tests: Fix the Visual C++ double to float conversion warnings. 2007-05-29 13:47:06 +02:00
Maarten Lankhorst c83fd812f1 dsound: Fix stupid mistake. 2007-05-29 11:55:14 +02:00
Maarten Lankhorst 2360358944 dsound: Block align SetCurrentPosition and add test for it. 2007-05-25 19:31:05 +02:00
Robert Reif 91d580433c dsound: Add missing interface ID. 2007-05-23 14:35:05 +02:00
Maarten Lankhorst 2e9fa34d67 dsound: IDirectSound_Compact should return DS_OK on priolevel >= DSSCL_PRIORITY. 2007-05-15 12:20:00 +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
Rob Shearman 543a7d8f2d dsound: Implement QueryInterface for KsPropertySet objects. 2007-04-30 12:33:12 +02:00
Rob Shearman ade2984e03 dsound: Implement QueryInterface for the class factory objects. 2007-04-30 12:33:07 +02:00
Andrew Talbot 824c9c8ee6 dsound: Constify some variables. 2007-04-30 12:32:30 +02:00
Maarten Lankhorst 364e65a872 dsound: Don't deadlock in capture because of callback. 2007-04-23 14:05:52 +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
Andrew Riedi 447d5c219b dsound: Change a couple DPRINTF's to TRACE's 2007-03-29 21:01:14 +02:00
Andrew Talbot 6eba82d418 dsound: Replace inline static with static inline. 2007-03-20 13:00:51 +01:00
Jan Zerebecki 4c4821e305 dsound: Conform critical section DebugInfo names. 2007-03-12 13:40:22 +01:00
Stefan Huehner 51a7ca3440 Change some functions arguments from () -> (void). 2007-03-12 12:25:31 +01:00
Tomas Carnecky 9b4f99782e dsound: Update prototypes for IDirectSoundBuffer::Lock/Unlock. 2007-03-08 21:30:54 +01:00
Maarten Lankhorst c38bcb96d7 dsound: Use an inline for ring buffer pointer difference calculation. 2007-02-22 11:26:42 +01:00
Maarten Lankhorst 0036298a14 dsound: Add some comments from earlier patch that makes code a little better understandable. 2007-02-22 11:25:35 +01:00
Robert Reif 2e44a3b2a2 dsound: Fix tests for old versions of windows. 2007-01-16 11:19:30 +01:00
Francois Gouget 3327c5f6ff dsound/tests: Replace some '#if 0's with 'if (0)'s. 2007-01-12 11:25:11 +01:00
Francois Gouget 42d25ef95d dsound/tests: The tests link with dsound.dll so use GetModuleHandle() instead of LoadLibrary(). 2007-01-12 11:25:06 +01:00
Francois Gouget e48d86308d dsound/tests: Replace some '#if 0's with 'if (0)'s. 2007-01-12 11:24:49 +01:00
Michael Stefaniuc 3cf9f84561 dsound: Remove stray '\' at end of lines. 2007-01-09 12:03:46 +01:00
Andrew Talbot 6a9d6ef275 dsound: Remove unused function. 2007-01-09 12:03:38 +01:00
Alexandre Julliard 6addb22017 dsound: The dsconf.h GUIDs are now in libdxguid. 2007-01-08 22:01:56 +01:00
Patrik Stridvall 6e062a4e08 dsound: The GUID:s defined in dsconf.h should be exported by dxguid. 2007-01-08 21:14:31 +01:00
Marcus Meissner f0280cbd1e made functions and variables static in some testcases. 2006-12-11 12:18:29 +01:00
Dmitry Timoshkov 616b65532b dsound: Make some data const. 2006-11-29 12:44:40 +01:00
Francois Gouget cc1cb0ad8e dsound/tests: Remove unneeded NONAMELESS* macros. 2006-11-24 11:48:50 +01:00
Francois Gouget 1ccf944900 Assorted spelling fixes. 2006-11-13 13:01:53 +01:00
Michael Stefaniuc 26bd2ec9c3 dsound: Win64 printf format warning fixes. 2006-11-13 12:49:04 +01:00
Michael Stefaniuc 0f08667c8a dsound: Fix the declaration/definition of DSOUND_timer(). 2006-11-13 12:48:27 +01:00
Francois Gouget 30e44c85c8 Assorted spelling fixes. 2006-11-07 15:25:24 +01:00
Michael Stefaniuc 15765dd953 The Data1 member of the GUID struct needs to be an unsigned int too for Win64 compatibility. 2006-10-16 10:53:04 +02:00
Michael Stefaniuc 65aac34c56 dsound/tests: Win64 printf format warning fixes. 2006-10-10 11:56:56 +02:00
Francois Gouget be87fe8c7c dsound: Don't use state.buffer_size before it has been initialized. 2006-09-29 17:53:31 +02:00
Michael Stefaniuc 85ce5117c5 Add a WINE_NO_LONG_INT define to many makefiles to ease the transition of DWORD/LONG/ULONG from long to int. 2006-09-29 16:08:30 +02:00
Alexandre Julliard 32ab895e46 makefiles: Generate the dependencies line to avoid some code duplication. 2006-09-14 09:38:16 +02:00
Alexandre Julliard 5cf75e615a makefiles: Only run test and documentation targets in directories that need them. 2006-08-28 13:37:44 +02:00
Robert Reif 02bd4ad437 dsound: Remove unused parameter from propset functions. 2006-08-23 11:58:38 +02:00
Robert Reif 425608a120 dsound: Add class factory tests. 2006-08-18 12:04:54 +02: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
Andrew Talbot 70642e2511 dsound/tests: Write-strings warning fix. 2006-07-31 21:57:54 +02:00
Alexandre Julliard 77dc0d9be5 .gitignore: Added wildcards to ignore generated resource files. 2006-07-10 21:39:00 +02:00
Alexandre Julliard 0fa8baafcb make_dlls: Recursively ignore .ok files in all tests directories. 2006-07-10 21:26:50 +02:00
Alexandre Julliard edd100b899 make_dlls: Recursively ignore testlist.c in all tests directories. 2006-07-10 21:19:42 +02:00
Alexandre Julliard 5258e061dc make_dlls: Ignore generated import libraries from the top-level .gitignore. 2006-07-10 20:55:58 +02:00
Alexandre Julliard cc2b3b48e6 Take advantage of the recursive nature of .gitignore for Makefile entries.
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +02:00
Paul Vriens 8f143f190c Use the return value of register_key_guid. 2006-06-30 21:08:07 +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
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
Vitaliy Margolen 4054c06e55 directx: Update file versions to dx9c (compared to win2k). 2006-05-22 11:32:17 +02:00
Robert Shearman 74407105d2 Check the return value from register_key_guid in all the DLL registering code. 2006-05-10 19:38:04 +02:00
Robert Reif a15ef7b18a dsound: Add DirectSoundBuffer_Lock tests. 2006-05-05 17:29:23 +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 1f882cd68d dsound: Fix 2 bugs in ds3d tests.
Fix 2 bugs in the error paths of the ds3d.c test (coverity).
2006-04-10 12:22:08 +02:00
Robert Reif 208b0c2e72 dsound: Remove NULL This pointer checks. 2006-04-08 15:53:00 +02:00
Robert Reif 2c4c204371 dsound: Remove unnecessary NULL pointer check. 2006-04-08 15:50:08 +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 ba62608996 dsound: Fix capture test.
Remove bogus release of NULL pointer code found by Coverity.
2006-04-07 20:01:40 +02:00
Robert Reif c460d9becf dsound: Add info to failed tests.
Print format for failed SetFormat calls.
2006-03-15 11:30:17 +01:00
Robert Reif 919ee6b699 dsound: Fix duplex create bug. 2006-02-28 12:40:16 +01:00
Robert Reif 64841caba8 dsound: Fix duplex test. 2006-02-09 12:08:05 +01:00
Robert Reif 6255936c83 dsound: Duplex test fix. 2006-01-25 13:15:25 +01:00
Robert Reif c82a63ba97 dsound: Primary buffer size change tests.
It looks like Windows doesn't change the primary buffer length when
changing formats so make the tests fail now.
This means the current ALSA implementation is broken when hardware
acceleration is set to full and the primary buffer format is changed.
2006-01-17 16:19:54 +01:00
Robert Reif 03b8fca7e2 dsound: Add full duplex tests. 2006-01-17 16:19:14 +01: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 54cf8ea1ac dsound: Add primary buffer change tests.
Add tests to figure out whether Windows can change the primary buffer
capabilities after setting the buffer format. Based on a patch by Alex
Villacís Lasso.
2006-01-11 12:12:46 +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 b2d604a9da dsound: Fix double free bug in tests.
Fix double free in tests.  Only happens in interactive mode when
testing duplicated 3D buffers.
2006-01-06 12:16:41 +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 88ff432164 dsound Add uninitialized check. 2006-01-03 12:11:27 +01:00
Alexandre Julliard 0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Robert Reif efff88b834 Handle failure on Windows 95 properly.
Make two functions available to all files.
Make format_string() const correct.
2005-11-18 12:04:36 +00:00
Francois Gouget 0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Davin McCall a9a689c592 PhaseCancel subtracts secondary buffer from primary buffer, not the
other way around.
2005-11-01 10:18:55 +00: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
Robert Reif 6727c52f3b Include winuser.h so the code compiles cleanly on windows using
windows headers.
2005-10-17 09:24:50 +00:00
Mike O'Regan 5fd4aa6fc4 Tests commented out and FIXME-ed long ago now pass. 2005-10-11 19:57:17 +00:00
Robert Reif 57444565e6 Fix PrimaryBufferImpl pointer to deleted DirectSoundImpl. 2005-10-11 19:26:37 +00:00
Robert Reif 0966d61344 DirectSoundDevice reference count cleanup. 2005-10-10 10:29:13 +00:00
Robert Reif b6dd5de03f Fix dsound8 test to deal with an installed but unregistered
IDirectSound8.
2005-10-10 10:27:50 +00:00
Alexandre Julliard 7e22be4d84 We are no longer generating .dbg.c files. 2005-09-29 10:35:58 +00:00
Robert Reif 594b7f26e4 Fix capture test to not fail when IDirectSoundCapture class is not
registered.
2005-09-23 10:05:40 +00:00
Marcus Meissner bd7ec9aca5 The last argument to MultiByteToWideChar is wide character count and
not the buffer size in bytes. Fixed all places where it was wrong.
2005-09-12 22:07:53 +00:00