Commit Graph

821 Commits

Author SHA1 Message Date
Michael Stefaniuc c7f5f10aab dsound: Merge IDirectSoundNotify into the secondary buffer object. 2012-01-20 13:33:33 +01:00
Michael Stefaniuc e0d81e55e2 dsound: Merge IDirectSound3DBuffer into the secondary buffer object. 2012-01-19 21:08:49 +01:00
Michael Stefaniuc a5d2120021 dsound: Get rid of some LPDIRECTSOUND3DBUFFER usage. 2012-01-19 21:08:49 +01:00
Michael Stefaniuc 3ec0b056d5 dsound: Support IKsPropertySet in the primary buffer too. 2012-01-17 11:53:25 +01:00
Michael Stefaniuc 48ca5924b4 dsound: Merge IKsPropertySet into the secondary buffer object. 2012-01-17 11:53:19 +01:00
Michael Stefaniuc fd04e770f1 dsound: Drop "Buffer" from the IKsPropertySet method names. 2012-01-17 11:53:05 +01:00
Andrew Eikum 9cf7f95483 dsound: Lock the source buffer during duplication. 2012-01-17 11:51:25 +01:00
Andrew Eikum 6d391df4aa dsound: Don't launch a separate thread for the mmdevapi enumerator. 2012-01-16 19:32:51 +01:00
Michael Stefaniuc 5959e1d48c dsound: Use AddRef to set the refcounts at object creation. 2012-01-16 12:45:33 +01:00
Michael Stefaniuc 37df4671cb dsound: Merge IDirectSound3DListener into the primary buffer object. 2012-01-16 12:45:33 +01:00
Michael Stefaniuc 044edbb625 dsound: Get rid of some LPDIRECTSOUNDBUFFER usage. 2012-01-16 12:45:33 +01:00
Jörg Höhle 999423d34e dsound: Vista/XP SP2 reworked the Speaker Configuration. 2012-01-13 18:17:31 +01:00
Michael Stefaniuc 66361f1bd5 dsound/tests: Add some COM tests for capture. 2012-01-12 15:52:51 +01:00
Michael Stefaniuc 93bfa2b5be dsound/tests: Sanitize START_TEST() in capture.c. 2012-01-12 15:52:50 +01:00
Michael Stefaniuc 4ac20cbc0f dsound/tests: Remove some returns in the capture buffer tests. 2012-01-12 15:52:50 +01:00
Michael Stefaniuc a3120ce80e dsound: Make capture behave like native in regards to COM aggregation. 2012-01-12 15:52:42 +01:00
Michael Stefaniuc 13a4b03b44 dsound: Merge IDirectSoundNotify into the capture buffer object. 2012-01-12 12:38:41 +01:00
Michael Stefaniuc 3dac0e5a4f dsound: Add an extra refcount for the capture buffer object. 2012-01-12 12:38:34 +01:00
Michael Stefaniuc e8f7ddf774 dsound: Drop "Capture" from the IDirectSoundNotify method names. 2012-01-12 12:38:28 +01:00
Michael Stefaniuc f1d7414971 dsound: COM cleanup for the IDirectSoundCaptureBuffer8 iface. 2012-01-12 12:38:21 +01:00
Jörg Höhle 35cdb8bb22 dsound: Fix the computation of the mixer position in bytes. 2012-01-03 19:27:16 +01:00
Alexander E. Patrakov 663bc47602 dsound: Always resample buffers in mixer thread. 2011-12-29 17:56:48 +01:00
André Hentschel 2b981177d3 dsound: Use if(0) instead of #if 0 to make sure code still compiles. 2011-12-27 16:55:06 +01:00
Francois Gouget c64ce9d0ff dsound: Remove mmErr(). It is not used anymore. 2011-12-06 17:52:54 +01:00
Andrew Eikum 287a6e8473 dsound: Validate format in primary buffer's SetFormat(). 2011-12-05 12:23:37 +01:00
Andrew Eikum c59ecdcefb dsound: Don't specify period size for the IAudioClient.
We don't actually care what period size gets used (in fact, docs say the
parameter is entirely ignored in Shared mode).
2011-11-15 19:37:37 +01:00
Francois Gouget 68dc1468cb dsound: Give a name to the critical sections, make them static and delete them when unloading the dll. 2011-11-15 19:37:35 +01:00
Francois Gouget 0caef81de2 dsound: Unset Spare[0] before deleting non-static critical sections. 2011-11-14 15:25:27 +01:00
Andrew Eikum c8c6cc97bc dsound: Always enumerate the default device first. 2011-10-21 12:11:39 +02:00
Andrew Eikum 9b15c17376 dsound: Don't claim to support hardware buffers. 2011-10-20 11:03:40 +02:00
Andrew Eikum 6a7c2f66e0 dsound: Don't make the capture buffer object address public until it is prepared. 2011-10-18 15:11:40 +02:00
Andrew Eikum c60583ab8b dsound: Fix type conversion problems. 2011-10-18 15:11:32 +02:00
Marcus Meissner 587cd82013 dsound: Remove dead code from mixer (Coverity). 2011-10-17 17:45:05 +02:00
Marcus Meissner 07d72eb570 dsound: Added missing LeaveCriticalSection (Coverity). 2011-10-17 17:45:03 +02:00
Andrew Eikum 9d29d9f766 dsound: Request a more exact buffer size from MMDevAPI. 2011-10-13 19:57:18 +02:00
Andrew Talbot 1f1a97a9b5 dsound: Remove unneeded address-of operator from function name. 2011-10-10 13:30:25 +02:00
Michael Stefaniuc f0a3a09d0e dsound: COM cleanup for the IDirectSoundCapture iface. 2011-10-08 17:38:40 +02:00
Andrew Eikum ecd13dcbef dsound: Fix fragment position calculations. 2011-10-06 12:28:22 -05:00
Andrew Eikum cec8e0d73a dsound: Remove a few unused variables. 2011-10-05 17:31:27 -05:00
Marcus Meissner 1533965e8c dsound: Make a function static, remove a no longer used array. 2011-10-04 15:21:15 -05:00
Marcus Meissner a664424c19 dsound: Mark enum_callback and search_callback static. 2011-10-03 15:51:17 -05:00
Andrew Eikum 6c33e87259 dsound: Eliminate leftover driver structures. 2011-09-28 10:59:31 +02:00
Andrew Eikum 8856ea79f3 dsound: Reimplement PropertySet on mmdevapi. 2011-09-27 16:53:59 +02:00
Andrew Eikum 3735ecac21 dsound: Reimplement capturing devices on mmdevapi. 2011-09-27 16:53:59 +02:00
Andrew Eikum e786998daf dsound: Reimplement rendering devices on mmdevapi. 2011-09-27 16:53:51 +02:00
Andrew Eikum 7fae5f4f9f dsound: Validate buffer pointers in Unlock methods. 2011-09-26 18:38:11 +02:00
Andrew Eikum b1fdaa81b0 dsound: Remove hardware acceleration support. 2011-09-26 18:38:07 +02:00
Michael Stefaniuc e2c0ea01ac dsound/tests: Remove some explicit casts that happen implicitly. 2011-09-23 16:21:51 +02:00
Andrew Eikum e2cc32d252 dsound: Don't dereference a freed object. 2011-09-21 19:25:12 +02:00
Michael Stefaniuc c35745d45a dsound: Handle primary buffers in two more IDirectSoundBuffer methods. 2011-08-31 19:43:06 +02:00
Michael Stefaniuc a2bc634eaa dsound: Handle primary buffers in IDirectSoundBufferImpl_SetFormat. 2011-08-31 19:43:06 +02:00
Michael Stefaniuc 3747fb74a1 dsound: Move the primary buffer description into the buffer object. 2011-08-31 19:43:06 +02:00
Michael Stefaniuc c0565143f9 dsound: Don't delete the primary buffer if a sub iface is still in use. 2011-08-31 19:43:05 +02:00
Michael Stefaniuc ffb51208e9 dsound: Use the same struct for the primary buffer object as for the secondary. 2011-08-31 19:43:05 +02:00
Michael Stefaniuc 7959778d3f dsound/tests: Primary and secondary buffers use the same IDirectSoundBuffer vtbl. 2011-08-29 12:08:21 +02:00
Michael Stefaniuc 6d7c38256f dsound: Fix refcounting for the secondary buffer object.
This fixes a regression introduced in 6b64e0090c.
2011-08-26 11:31:59 +02:00
Michael Stefaniuc 6b64e0090c dsound: Kill SecondaryBufferImpl with extreme prejudice. 2011-08-24 12:14:46 +02:00
Michael Stefaniuc 7da80d1f01 dsound: Basic COM cleanup for the IDirectSoundBuffer8 iface. 2011-08-24 12:14:46 +02:00
Michael Stefaniuc beac9a27e6 dsound/tests: IDirectSoundBuffer and IDirectSoundBuffer8 use the same implementation. 2011-08-24 12:14:46 +02:00
Michael Stefaniuc 4b54090a85 dsound: Remove pointless AddRef followed by a Release. 2011-08-24 12:14:46 +02:00
Frédéric Delanoy 760faf01a9 tests: Assorted spelling fixes. 2011-08-04 18:27:37 +02:00
Frédéric Delanoy b5a33dab88 dlls: Assorted spelling fixes. 2011-08-02 20:47:51 +02:00
Alexandre Julliard b56dc9a6f7 winecrt0: Remove the clsid parameter in __wine_(un)register_resources. 2011-08-02 20:47:49 +02:00
Akihiro Sagawa 2ab3d22663 dsound: Don't copy the position notify on duplicate. 2011-07-22 15:44:16 +02:00
Akihiro Sagawa 3c9bd6ba2a dsound: Don't copy the notify object on duplicate. 2011-07-22 15:44:13 +02:00
Akihiro Sagawa 223406fa17 dsound/tests: Add tests to check notifications after duplicate. 2011-07-22 15:40:46 +02:00
Akihiro Sagawa c1fbf00d2c dsound: Fix a typo. 2011-07-18 16:23:30 +02:00
Andrew Eikum ca4ee7f60f dsound: Request that WinMM perform audio conversion if the hardware doesn't support the requested format. 2011-07-14 14:39:51 +02:00
Andrew Eikum 7d82403f05 dsound: Inform the driver if we are in emulation mode or not. 2011-06-29 10:22:57 -05:00
Austin English 6a3255bbbd dsound: Return success in IDirectSoundBufferImpl_AcquireResources. 2011-05-10 20:32:31 +02:00
Marcus Meissner 0615969f2b dsound: Mark internal symbols as having hidden visibility. 2011-04-26 15:31:27 +02:00
Maarten Lankhorst 4429257358 dsound: COM cleanup property sets. 2011-04-08 16:49:51 +02:00
Philipp Middendorf f5721560f5 dsound: Handle 8 channel audio input. 2011-04-07 10:23:00 +02:00
Andrew Eikum 54ff22b844 dsound: Also handle two-to-six-channel conversions. 2011-03-02 12:50:58 +01:00
Austin English 62b83bf036 dsound/tests: Remove win9x hack. 2011-02-28 13:11:34 +01:00
Maarten Lankhorst af5423ef57 dsound: Forcibly lock buffers to be mixed. 2011-02-14 13:33:32 +01:00
Austin English f6fb95230c dsound/tests: Make sure to use a return value (LLVM/Clang). 2011-02-10 09:57:45 -06:00
Austin English 8c771e3f7e dsound/tests: Make sure to use return values (LLVM/Clang). 2011-02-08 13:42:14 -06:00
Owen Rudge 15d5311804 dsound/tests: Add IEEE float buffer tests for dsound8. 2011-01-20 17:50:17 +01:00
Owen Rudge c3a01501e8 dsound/tests: Add IEEE float buffer tests. 2011-01-20 17:50:11 +01:00
Owen Rudge d6f3ca9589 dsound: Add support for 32-bit IEEE float buffers. 2011-01-20 17:50:04 +01:00
André Hentschel 046bcb7c7e dsound/tests: Don't test function directly when reporting GetLastError(). 2010-12-30 15:00:05 +01:00
Michael Stefaniuc d2e90cddfd dsound: Use an iface instead of a vtbl pointer in IClassFactoryImpl. 2010-12-05 16:44:02 +01:00
Alexandre Julliard 5f49129e03 resources: Define a generic mechanism for adding extra values to the common version block. 2010-12-03 14:53:59 +01:00
Alexandre Julliard b3c307fb91 dsound: Convert dll registration to the IRegistrar mechanism. 2010-12-03 14:28:28 +01:00
Nick Bowler 681d544620 dsound: Restore old format on SetFormat failure. 2010-10-04 15:00:05 +02:00
Alexandre Julliard 19da00a6a3 dsound/tests: Mark some Vmware sound driver failures as broken. 2010-09-30 11:32:59 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Andrew Talbot ab6ad77243 dsound: Constify some variables. 2010-09-13 11:01:52 -05:00
Henri Verbeet 049edc9587 dsound: Remove the useless CINTERFACE definition. 2010-08-17 11:55:33 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02:00
Maarten Lankhorst 2d5c4944c1 dsound: Unofficially support 5.1 sound. 2010-06-08 12:59:58 +02:00
William Waghorn 594de90ccd dsound: Ensure device name and description buffers are NUL terminated. 2010-03-22 15:52:35 +01:00
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
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