Commit Graph

856 Commits

Author SHA1 Message Date
Michael Stefaniuc 4c7e608d5c dsound: Get rid of the DSOUND_QueryInterface() helper. 2012-07-19 16:01:48 +02:00
Michael Stefaniuc 9cc62d321c dsound: Handle IDirectSound by the IDirectSound8 implementation. 2012-07-19 16:01:48 +02:00
Michael Stefaniuc 6fecd3d642 dsound: Merge IDirectSound8 into the main DirectSound object. 2012-07-19 16:01:47 +02:00
Michael Stefaniuc db5344e438 dsound: Drop a redundant 'IDirectSound8' from the method names. 2012-07-19 16:01:47 +02:00
Michael Stefaniuc bf4481d3f0 dsound: Merge the DirectSound create functions. 2012-07-19 16:01:46 +02:00
Michael Stefaniuc 8978a4b51b dsound: Merge IUnknown into the main DirectSound object. 2012-07-19 16:01:45 +02:00
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