Commit Graph

727 Commits

Author SHA1 Message Date
Maarten Lankhorst 1719f8faf1 dsound: Improve underrun behavior. 2010-03-15 13:28:24 +01:00
Alexandre Julliard 6164ce2d82 makefiles: Use the standard C_SRCS variable as the list of test files.
This enables it to be auto-updated by make_makefiles.
2010-02-22 10:47:11 +01:00
Alexander Nicolaysen Sørnes 9c88bd8d24 dsound/tests: Test querying for KsPropertySet on primary buffer. 2010-02-15 12:20:01 +01:00
Alexander Nicolaysen Sørnes 1db6e11254 dsound/tests: DirectSound3DListener_QueryInterface should accept IKsPropertySet. 2010-02-11 14:38:44 +01:00
Paul Vriens 0d302bb60c dsound: Fix a typo. 2010-01-14 09:10:57 -06:00
Reece Dunn a2c41b72f8 Don't generate FIXME warnings for DllCanUnloadNow. 2010-01-06 10:59:51 +01:00
Maarten Lankhorst ef0a0d8b86 Revert "dsound: Only initialize one guid for capture and renderer."
Reverts b474649e0e. Some games use
pointers to the guid rather than copying the guid even after the
enumeration function returns. Allocating on the stack breaks those
games.
2010-01-06 09:54:18 +01:00
Alexandre Julliard 5da782ac53 dsound: Fix an invalid pointer cast. 2009-12-31 12:12:15 +01:00
Huw Davies 14fdced365 dsound: Fix a memory leak in the tests.
Found by Valgrind.
2009-12-18 11:47:52 +01:00
Maarten Lankhorst 1b94450f78 dsound: Remove refcounting in classfactory. 2009-12-16 12:42:40 +01:00
Maarten Lankhorst b474649e0e dsound: Only initialize one guid for capture and renderer. 2009-12-10 15:41:25 +01:00
Maarten Lankhorst 317d95a9db dsound: Clean up DSPROPERTY_Description1. 2009-12-10 12:18:59 +01:00
Maarten Lankhorst a5bf8b6b42 dsound: Clean up DSPROPERTY_DescriptionA. 2009-12-10 12:18:46 +01:00
Maarten Lankhorst d0b43b86dd dsound: Clean up DSPROPERTY_Enumerate1. 2009-12-10 12:18:32 +01:00
Maarten Lankhorst 4ecc5e6613 dsound: Clean up DSPROPERTY_EnumerateA. 2009-12-10 12:17:35 +01:00
Maarten Lankhorst 773acf4157 dsound: Clean up DSPROPERTY_EnumerateW. 2009-12-10 12:16:04 +01:00
Maarten Lankhorst 2e95764e76 dsound: Clean up DSPROPERTY_DescriptionW. 2009-12-10 12:15:29 +01:00
Maarten Lankhorst 0d34e5c6a4 dsound: Implement DSPROPERTY_WaveDeviceMappingA on top of *W. 2009-12-10 12:14:28 +01:00
Maarten Lankhorst 7326586517 dsound: Move buffer property sets to buffer.c. 2009-12-07 14:46:03 +01:00
Francois Gouget ff0717766c dsound: Make DSOUND_PrimarySetFormat() static. 2009-12-02 14:19:47 +01:00
Francois Gouget 5b5f00d552 dsound: Make some capture functions static. 2009-12-02 14:19:44 +01:00
Francois Gouget 5ab62a5c88 dsound: Reorder the capture functions to avoid forward declarations. 2009-12-02 14:19:41 +01:00
Maarten Lankhorst 52400723c9 dsound: Don't use DirectSoundDevice calls directly. 2009-11-30 16:25:11 +01:00
Maarten Lankhorst 26df03d2df dsound: Use DirectSoundCapture properly in duplex. 2009-11-30 16:25:01 +01:00
Maarten Lankhorst 9123f28e46 dsound: Call DSOUND_FullDuplexCreate instead of creating it directly. 2009-11-30 16:24:28 +01:00
Maarten Lankhorst c9b70ddf7e dsound: Remove directsound interface in duplex. 2009-11-30 16:24:14 +01:00
Maarten Lankhorst 9aa5aa3364 dsound: Fix destruction in duplex. 2009-11-30 16:21:38 +01:00
Henri Verbeet 7209cb89bb dsound: Use wine_dbg_sprintf() in dumpCooperativeLevel(). 2009-11-30 12:49:22 +01:00
Maarten Lankhorst b0cfbe81fa dsound: Restore old speaker config after tests.
According to the documentation, only audio device vendors are allowed to 
call this function, so make sure we properly restore the old speaker config.
2009-11-20 11:40:47 +01:00
Maarten Lankhorst a8f587e8de dsound: Move duplex definitions to duplex.c. 2009-11-16 14:50:30 +01:00
Maarten Lankhorst 708eaaa6be dsound: Implement DirectSoundCaptureEnumerateA on top of DirectSoundCaptureEnumerateW. 2009-11-16 14:45:35 +01:00
Maarten Lankhorst 03c16aaba9 dsound: Move DirectSoundCaptureEnumerate to dsound_main.c. 2009-11-16 14:45:28 +01:00
Maarten Lankhorst 9ec5f957cc dsound: Implement DirectSoundEnumerateA on top of DirectSoundEnumerateW. 2009-11-16 14:44:36 +01:00
Marcus Meissner 61393fa021 dsound: Check for NULL listener (Coverity). 2009-10-19 11:41:47 +02:00
Jörg Höhle de133ae00e dsound: Correct deallocations when DuplicateSoundBuffer fails. 2009-10-06 16:13:17 +02:00
Jörg Höhle dc3471ca0e dsound: Enforce invariant about BlockAlign and nAvgBytesPerSec. 2009-10-06 16:13:17 +02:00
Jörg Höhle 6aac7cfafa dsound: Get rid of redundant NULL check. 2009-10-06 11:52:02 +02:00
Gerald Pfeifer 94203b5ddb dsound/tests: Fix two broken conditions. 2009-06-22 11:44:28 +02:00
Yuriy Kaminskiy cb93f15e32 dsound: Fix segv on use-after-free in IDirectSoundNotifyImpl_Release. 2009-06-01 16:16:02 +02:00
Gerald Pfeifer 13e14f3b8e dsound: Clarify statement in DSOUND_capture_callback. 2009-05-25 11:22:03 +02:00
Francois Gouget d7c5f1a90b dsound/tests: Replace malloc() with HeapAlloc(). 2009-05-13 12:45:36 +02:00
Jesse Allen eac4791741 dsound: Fix test for some windows versions. 2009-04-22 13:13:31 +02:00
Jesse Allen b7f6c1e103 dsound: Allow a special cbSize case in CreateSoundBuffer. 2009-04-21 13:16:26 +02:00
Detlef Riekenberg 8819156b49 dsound/tests: Remove duplicate version dump.
We have the version already in the header of the winetest results.
2009-03-30 13:56:50 +02:00
Robert Reif c2d6ce85d0 dsound: Fix uninitialized variable.
I missed one case when converting over to static GUIDs in a previous patch.
Pointed out by Andrew Talbot.
2009-03-23 15:26:43 +01:00
Ken Thomases f85a7b16ca dsound: Don't use HEAP_ZERO_MEMORY when we're about to overwrite the buffer. 2009-03-03 12:36:21 +01:00
Ken Thomases b6fcb20433 dsound: Consolidate some duplicate code. 2009-02-24 16:57:27 +01:00
Ken Thomases ca1d074c50 dsound: Replace a realloc-or-alloc with a free-then-alloc.
The buffer is to be overwritten anyway, so there's no need to preserve its
contents.  Also, the old code leaked if the realloc were to fail.  All in all,
free-then-alloc is simpler.
2009-02-24 16:57:27 +01: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
Andrew Talbot c744710bd5 dsound: Remove unused function. 2009-02-05 13:13:52 +01:00
Michael Stefaniuc 0ae74c2a9b dsound: Use UlongToHandle to make the real payload a HWAVEIN/HWAVEOUT.
Fixes Win64 compiler warnings.
2009-01-28 12:11:07 +01:00
Michael Stefaniuc 7ab165a590 dsound: Fix mixup between HWAVEOUT and HWAVEIN.
The code path is taken when a valid wod isn't found. The loop thus
doesn't call waveInMessage() for each wid but retries the same wrong
wod.
2009-01-28 12:11:04 +01:00
Henri Verbeet 5570a1da8e dsound: Don't convert single samples at a time.
This gives a minor performance improvement.
2009-01-15 12:43:37 +01:00
Henri Verbeet 07f9991062 dsound: Const correctness fixes. 2009-01-12 13:22:14 +01:00
Michael Stefaniuc c91aa7a96d dsound: Remove superfluous pointer casts. 2009-01-12 13:06:36 +01:00
Alexandre Julliard dedf5e49ba dsound: Avoid a pointer cast in a trace. 2009-01-08 13:12:46 +01:00
Andrew Talbot 62d6a4e9f7 dsound: Declare some variables static. 2009-01-03 15:36:08 +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
Maarten Lankhorst 94c620cf95 dsound: Correct amount of buffers used for playing.
Fixes regression caused by ce06de4208
Amount of time per buffer was doubled, but amount of buffers wasn't 
halved, so latency was doubled.
2009-01-02 12:39:11 +01:00
Jeff Zaroyko bea7933d95 dsound: Fix a typo in convert_32_to_24. 2009-01-02 11:54:22 +01:00
Reece Dunn ce06de4208 dsound: Correct the dsound fraglen calculations. 2008-12-22 14:56:19 +01:00
Hans Leidekker 63aff890d7 janitorial: Remove unneeded user32 imports. 2008-12-17 11:38:36 +01:00
Hans Leidekker 8bd9a3aa09 janitorial: Don't depend on user32 for the self registration functions. 2008-12-17 11:38:32 +01:00
Francois Gouget 34f1e0f048 dsound: Remove unneeded casts of zero. 2008-12-08 12:04:45 +01:00
Francois Gouget 45992843ea dsound: Remove WINAPI on static functions where not needed. 2008-12-01 12:44:54 +01:00
Maarten Lankhorst 6b6b8d9bfa dsound: 64-bit pointer fixes. 2008-11-26 14:15:50 +01:00
Francois Gouget b3bf746ff9 Straighten out some ellipses. 2008-11-26 12:33:34 +01:00
Jeff Zaroyko 29e49bbe8e dsound/tests: Fix a failing capture test on win2k. 2008-10-23 12:13:41 +02:00
Jeff Zaroyko b9084bc99f dsound/tests: Fix failing propset and capture tests on win98. 2008-10-23 12:13:37 +02:00
Alexandre Julliard 80f39e6119 dsound: Avoid use of stdint types. 2008-10-17 13:02:32 +02: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
Andrew Talbot 3fae4082ef dsound: Sign-compare warnings fix. 2008-10-01 09:57:00 -05:00
Paul Vriens 8ccfe80c0b dsound/tests: Fix failure on Win9x and NT4. 2008-09-22 12:17:04 +02:00
Jeff Zaroyko 724a45d15e dsound: Fix a failing test on XP. 2008-09-19 12:09:33 +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
Jeff Zaroyko 49d309804d dsound: Fix a few failing tests and a crash on 2008 (revised). 2008-09-10 11:11:15 +02:00
Paul Vriens e3a1593652 dsound/tests: Fix typos in tests. 2008-09-05 13:46:43 +02:00
Jeff Zaroyko e55a702928 dsound: Check for invalid parameter when unlocking secondary buffers. 2008-09-05 12:53:29 +02:00
Maarten Lankhorst 6e90756307 winealsa.drv/dsound: Handle underruns better. 2008-09-04 14:09:00 +02:00
Maarten Lankhorst dc22442141 dsound: Tune some parameters to make pulseaudio work. 2008-08-22 10:41:16 +02:00
Maarten Lankhorst 179990ac36 dsound: Remove int24_struct from conversion routines. 2008-08-19 13:36:10 +02:00
Ulrich Hecht 335dec27b7 dsound: Fix notification order. 2008-07-25 11:29:04 +02:00
John Klehm 7f8dfe9826 dsound: Accept DSERR_INVALIDCALL for CreateSoundBuffer failure. 2008-07-09 10:43:06 +02:00
Alexandre Julliard ca681835dc dsound: Don't depend on the dxerr8 static library in the tests. 2008-07-08 17:51:46 +02:00
Alexandre Julliard 79c64acc7b tests: Don't depend on the static uuid libraries in the tests.
This avoids trouble with the broken MingW libraries when
cross-compiling the tests.
2008-07-08 17:51:45 +02:00
James Hawkins f4cbdc96de dsound: Fix a failing test for broken drivers. 2008-07-02 12:05:15 +02:00
Roy Shea 4a4d8caed3 dsound/tests: Added additional tests of IDirectSound_CreateSoundBuffer. 2008-06-25 20:23:14 +02:00
Roy Shea d776828857 dsound/tests: Removed test depending on value of undefined variable. 2008-06-25 20:23:08 +02:00
Dan Kegel 025457e09b dsound: Don't free buffer if it's owned by alsa. 2008-06-21 11:14:02 +02:00
Zac Brown e4ff8a0c0a dsound/tests: Improve test for IDirectSound8_CreateSoundBuffer. 2008-06-11 11:26:48 +02:00
Michael Karcher 84fd6e629a dsound: Fix double free in dsound capture. 2008-05-30 11:50:00 +02:00
Jörg Höhle 349abe991e dsound: Fix off by 1 heap error in DSOUND_MixerVol. 2008-05-21 11:36:30 +02:00
Andrew Talbot 7b3ab79710 dsound: Memory allocation sizes fix. 2008-05-12 11:42:28 +02:00
Alexandre Julliard dad21bbcbf makefiles: List the static libraries as normal imports instead of extra libs. 2008-04-30 14:23:55 +02:00
Maarten Lankhorst bf739cbcc3 dsound: Skip WAVE_FORMAT_EXTENSIBLE tests on directx < 8. 2008-04-23 13:05:24 +02:00
Maarten Lankhorst 6c4d9448a9 dsound: Skip the sound checks on the primary module and change its driver module to "". 2008-04-21 13:20:12 +02:00
Andrew Talbot 13e405c149 dsound: Remove unused variable. 2008-04-17 11:41:04 +02:00
Maarten Lankhorst 98933362f3 dsound: Hold lock in GetStatus. 2008-04-07 11:34:28 +02:00
Austin English b4f52938e4 Spelling fixes. 2008-04-02 23:18:21 +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
Aric Stewart 6e8c8c28eb dsound: Set the status from STATE_STARTING to STATE_PLAYING before mixing our next buffer so that we do not potentially skip early event when starting. 2008-03-14 13:01:16 +01:00
Ken Thomases 2de653552c dsound: Adjust for partial block before prepare-header and add-buffer steps.
Otherwise, the wave-in driver(s) may copy incorrect data to internal structures.
2008-03-12 12:01:14 +01:00
Rob Shearman 48000893f9 makefiles: Simplify the use of the IMPORTLIB variable in the DLL makefiles.
Only specify the root to keep platform-specifics out of the individual 
DLL makefiles.
2008-03-04 20:55:01 +01:00
Rob Shearman fc1b62bd7d dsound: Don't use typeof as it's not portable. 2008-02-27 14:52:24 +01:00
Andrew Talbot 2cf2807052 dsound: Remove unneeded casts. 2008-01-02 12:38:41 +01:00
Andrew Riedi 68a6ddf623 dsound: DPRINTF -> TRACE. 2007-12-12 13:49:01 +01:00
Alexandre Julliard c0b12351e0 Avoid size_t types in traces. 2007-12-07 18:49:18 +01:00
Paul Vriens 52ccb14155 dsound/tests: Better check to see if class is not available. 2007-11-13 13:29:17 +01:00
Paul Vriens 65d3682c22 dsound/tests: Fix test failures on WinXP. 2007-11-13 13:29:11 +01:00
Maarten Lankhorst 8de6c8b4a9 dsound: Return primary_done when no mixing needs to be done instead of 0. 2007-11-12 12:56:21 +01:00
Maarten Lankhorst 8c3f9c8c7e dsound: Reassign pointers back to null when destroying structure. 2007-11-12 12:56:15 +01:00
Paul Vriens d66722db31 dsound/tests: Fix tests after addition of 24/32 bits buffer tests. 2007-11-12 11:40:25 +01:00
Maarten Lankhorst 3f965d582f dsound: Make AngleBetweenVectorsRad when vectors have no magnitude. 2007-11-12 11:40:10 +01:00
Maarten Lankhorst 545a774fcc dsound: Implement AngleBetweenVectorsDeg as a call to AngleBetweenVectorsRad. 2007-11-12 11:40:04 +01:00
Paul Vriens 8454cb17a8 dsound/tests: Fix test failures on WinXP and 2003. 2007-11-09 12:27:20 +01:00
Maarten Lankhorst 4d1129f785 dsound: Use a 2 stage mixing/normalization for sound. 2007-11-09 12:24:06 +01:00
Maarten Lankhorst a938f69360 dsound: Add mixing and normalization functions. 2007-11-09 12:23:54 +01:00
Maarten Lankhorst fa3663d6c7 dsound: Add support for 24/32 bits input sound buffers. 2007-11-09 12:20:20 +01:00
Maarten Lankhorst 511af0d186 dsound: Add conformance tests for 24/32 bits buffers and waveformatextensible. 2007-11-07 11:54:34 +01:00
Maarten Lankhorst 2a117a2017 dsound: Add support for WAVEFORMATEXTENSIBLE format. 2007-11-07 11:48:56 +01:00
Francois Gouget c4b1195c0c Assorted spelling fixes. 2007-10-23 18:20:27 +02:00
Maarten Lankhorst 80192b93eb dsound: Only warn for unsupported channels (or bits) when volume adjustment is done. 2007-10-16 13:19:20 +02:00
Maarten Lankhorst 0595ed39f2 dsound: Remove a few null initializations in DirectSoundDevice_Create.
The memory is allocated with HEAP_ZERO_MEMORY.
2007-10-15 16:55:19 +02: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 546447152e dsound: Fix IDirectSoundBuffer_GetPosition. 2007-10-02 11:43:49 +02:00
Maarten Lankhorst 847d5565fc dsound: Call waveInUnPrepareHeader and waveInPrepareHeader when submitting new buffer. 2007-10-01 12:42:57 +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 aaa9e41fdf dsound: Change default bpp and sample frequency to be better for the ears. 2007-09-11 12:33:56 +02:00
Maarten Lankhorst beaa1cde64 dsound: Runtime link to advapi32.RegDeleteTree. 2007-09-11 11:47:01 +02:00
Maarten Lankhorst 7a04c24e63 dsound: Fix detection of different sample rates in setformat. 2007-09-10 15:29:47 +02:00
Maarten Lankhorst 7144849d0b dsound: Fix null pointer dereference for waveout in creating buffer. 2007-09-10 15:29:47 +02:00
Maarten Lankhorst e56a302f7d dsound: Increase dll refcount and disable thread calls. 2007-08-30 19:48:01 +02:00
Francois Gouget a116879507 Assorted spelling fixes. 2007-08-30 12:26:02 +02:00
Stefan Leichter 6357676c54 dsound: Remove 'recursive registry key delete' function. 2007-08-29 11:58:13 +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 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