Commit Graph

950 Commits

Author SHA1 Message Date
Michael Stefaniuc 478191c059 dsound: Cleanup IDirectSoundImpl_Create() and move it. 2012-07-19 16:01:45 +02:00
Michael Stefaniuc a565c0fadf dsound: Rename the DirectSound object refcount to "numIfaces". 2012-07-19 16:01:44 +02:00
Michael Stefaniuc 4992e6a515 dsound: Merge the two IUnknown/IDirectSound implementations for DirectSound. 2012-07-19 16:01:43 +02:00
Michael Stefaniuc e236a3c2d5 dsound/tests: Add IDirectSound refcount and COM aggregation tests. 2012-07-19 16:01:43 +02:00
Andrew Eikum bf263a347d dsound: Fail if app requests 3D buffer interface on a non-3D buffer. 2012-06-14 18:20:29 +02:00
Andrew Eikum 1cc9ecb558 dsound: Don't use IAudioClock::GetPosition to determine buffer fullness. 2012-05-16 18:30:18 +02:00
Andrew Eikum 98c653bc8b dsound: Resample to float, not device format. 2012-05-15 16:26:31 +02:00
Andrew Eikum 20356f7458 dsound: Compute mix buffer's size more accurately. 2012-05-15 11:18:07 +02:00
Andrew Eikum 5cce1d9da2 dsound: Get rid of redundant primary_mixpos member. 2012-05-15 11:17:53 +02:00
Andrew Eikum e0ccd9e399 dsound: Change mix_buffer to float instead of INT. 2012-05-15 11:17:46 +02:00
Andrew Eikum 8327e6f423 dsound: Ensure primary buffer's buffer is large enough to hold the entire prebuffer. 2012-05-14 19:58:54 +02:00
Andrew Eikum 7dce1418ff dsound: Base fragment size off of the MMDevice's period. 2012-05-14 19:58:41 +02:00
Andrew Eikum 1053bfb48d dsound: Express buffer positions in terms of bytes, not fragments. 2012-05-14 19:58:32 +02:00
Andrew Eikum 2c6087457b dsound: Remove minlen, since we always mix full chunks anyway. 2012-05-14 19:58:24 +02:00
Andrew Eikum f0be44c82d dsound: Don't destroy primary buffer until device is released. 2012-05-09 17:49:33 +02:00
Alexander E. Patrakov 275dfb83f2 dsound: Added a windowed-sinc resampler. 2012-05-08 09:29:47 +02:00
Andrew Eikum 4354be123c dsound: Don't derive the secondary position from the primary position. 2012-05-02 12:00:02 +02:00
Andrew Eikum f393a98a8a dsound: Convert from fixed to floating point. 2012-05-02 11:59:58 +02:00
Alexander E. Patrakov 93a0ca7c6c dsound: Clean up channels. 2012-05-01 19:16:23 +02:00
Alexander E. Patrakov ab4ef6636d dsound: Clean up cp_fields. 2012-05-01 19:16:00 +02:00
Alexander E. Patrakov f88f3d4149 dsound: Replace convert() functions with get() and put(). 2012-05-01 19:15:49 +02:00
Alexander E. Patrakov 0195e01990 dsound: Clean up MixToTemporary(). 2012-05-01 19:15:12 +02:00
Andrew Eikum 3ef92af6a8 dsound: Map MMDevAPI error to DSound error. 2012-04-27 11:59:44 +02:00
Andrew Eikum 1b21fe827f mmddk.h: Remove unused, Wine-specific WinMM defines. 2012-04-03 17:53:37 +02:00
Andrew Eikum 552433cf9e dsound: Validate and correct wValidBitsPerSample in primary buffer SetFormat. 2012-04-02 18:27:14 +02:00
Michael Stefaniuc 0872572a6d dsound/tests: Fix the capture COM tests for older Win2k versions. 2012-02-15 19:17:37 +01:00
Andrew Eikum 9d06d41e37 dsound: Add some more DSCAPS flags. 2012-02-14 17:59:29 +01:00
Austin English c6bda4dc17 dsound: Remove an unnecessary assignment (LLVM/Clang). 2012-01-31 13:47:39 +01:00
Michael Stefaniuc 84d5317302 dsound: Remove the now obsolete IDirectSoundBufferImpl_Destroy(). 2012-01-20 13:34:20 +01:00
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
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