Commit Graph

696 Commits

Author SHA1 Message Date
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
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