Commit Graph

195 Commits

Author SHA1 Message Date
Andrew Eikum d4e9b26cbb mmdevapi: Send notifications to clients when the user-selected default device changes. 2012-12-15 16:33:31 +01:00
Andrew Eikum 8d775ec09b mmdevapi: Implement (Un)RegisterEndpointNotificationCallback. 2012-12-15 16:33:25 +01:00
André Hentschel 20128a923a mmdevapi/test: Fix tests on win8. 2012-12-12 20:23:55 +01:00
Henri Verbeet 5e93aa38ab mmdevapi: Avoid a couple of dependencies on ddraw.h. 2012-11-05 11:30:30 +01:00
Maarten Lankhorst d814eca3ba mmdevapi: Fix a broken test. 2012-10-18 19:31:52 +02:00
Jacek Caban 223105b9b3 mmdevapi: Use proper helpers for iface calls. 2012-08-15 12:18:39 +02:00
Michael Stefaniuc b14fb33148 mmdevapi: Avoid a TRUE:FALSE conditional expression. 2012-08-14 11:59:39 +02:00
Francois Gouget 4a27f7bf27 mmdevapi: Make MMDevice_GetPropValue() static. 2012-06-12 11:11:29 +02:00
Michael Stefaniuc 5c47973c24 mmdevapi: Remove superfluous NULL pointer check before HeapFree (Smatch). 2012-04-16 11:51:24 +02:00
Andrew Eikum 06c1f255f8 mmdevapi: Indicate data flow direction in IMMDevice::GetId result. 2012-04-06 20:12:26 +02:00
Andrew Eikum e6638bd86f mmdevapi: Store device interface in registry. 2012-04-06 20:12:05 +02:00
Andrew Eikum e87cb774d1 mmdevapi: Use device GUIDs as unique identifiers. 2012-04-04 17:25:25 +02:00
Andrew Eikum edab3b13f7 mmdevapi: TRACE all COM method calls. 2012-03-28 19:05:06 +02:00
Maarten Lankhorst 27adecec49 mmdevapi: Add tests for checking events to capture. 2012-03-01 17:38:59 +01:00
Jörg Höhle 813d0432a9 mmdevapi/tests: Fix some render test failures. 2012-02-24 17:04:11 +01:00
Maarten Lankhorst 14b765aca5 mmdevapi: Fix exclusive test. 2012-02-20 11:44:32 +01:00
Andrew Eikum f7d37b38fe mmdevapi: Only return ACTIVE devices from GetDefaultAudioEndpoint.
This prevents invalid devices from being created if the user adds a
device, sets it as default, and then removes it.
2012-02-15 11:56:47 +01:00
Jörg Höhle fde979b8b5 mmdevapi/tests: Perform renderer padding & position tests. 2012-02-11 15:13:17 +01:00
Jörg Höhle ac8360b3bf mmdevapi/tests: Fix errors and crashes in various native configurations. 2012-02-09 09:39:23 -06:00
Jörg Höhle f9f7048798 mmdevapi/tests: Produce audible output. 2012-02-09 09:39:09 -06:00
Jörg Höhle 4e323ec618 mmdevapi/tests: Add a worst-case XAudio2 fragment-size writes scenario. 2012-01-26 21:27:57 +01:00
Jörg Höhle f24b31fcf2 mmdevapi/tests: Perform capture protocol tests in shared mode. 2012-01-26 21:27:54 +01:00
Jörg Höhle 260c8ce9b4 mmdevapi/tests: Fix some test failures on native. 2012-01-10 18:29:04 +01:00
Jörg Höhle 31eb83359a mmdevapi/tests: Add PCM format tests. 2011-11-18 15:37:05 +01:00
Jörg Höhle 7480dc0af1 mmdevapi/tests: Prevent crash when device is in use. 2011-11-14 17:39:31 +01:00
Jörg Höhle 8e62e823d6 mmdevapi/tests: Fix errors and crashes in various native configurations. 2011-10-28 12:49:50 +02:00
Alexandre Julliard 6c68319863 mmdevapi/tests: Don't crash on test failure. 2011-10-24 19:54:15 +02:00
Andrew Eikum 66724f617e mmdevapi: Attempt to determine default devices from the registry.
This uses a new, Wine-specific registry key
<HKCU\Software\Wine\Drivers\wine<driver>.drv> to determine the correct
device to use for the various defaults. The drivers still supply their
own defaults which will be chosen if no registry entry is defined. For
portability we use a driver-specific key in order to support default
devices for each of the driver backends.
2011-10-05 16:50:29 -05:00
Andrew Eikum 6adf21173c mmdevapi: Don't use invalid This pointer on static object. 2011-09-30 10:32:14 -05:00
Andrew Eikum f7364dfb4b mmdevapi: Don't fail if dwChannelMask is not set correctly. 2011-09-28 21:04:33 +02:00
Andrew Eikum e786998daf dsound: Reimplement rendering devices on mmdevapi. 2011-09-27 16:53:51 +02:00
Henri Verbeet 748efc34c4 mmdevapi: Add a TRACE to info_device_ps_GetValue(). 2011-09-02 10:11:34 +02:00
Henri Verbeet a4fddf5fc8 mmdevapi: Include space for the terminating zero in info_device_ps_GetValue(). 2011-09-02 10:11:25 +02:00
Andrew Eikum c4b94b1ba4 mmdevapi: Automatically select the correct driver. 2011-09-01 18:06:37 +02:00
Andrew Eikum f6890ef0e2 winmm: Determine the driver from MMDevAPI.
This uses a half-implemented, Wine-specific IMMDevice object to extract
the driver name.
2011-09-01 18:06:37 +02:00
Andrew Eikum 23c26982e9 mmdevapi: Disable sound if the user explicitly selects no driver.
This also tweaks the no-driver behavior to report 0 active devices
instead of returning an error code.
2011-08-23 16:53:52 +02:00
Frédéric Delanoy 760faf01a9 tests: Assorted spelling fixes. 2011-08-04 18:27:37 +02:00
Alexandre Julliard b56dc9a6f7 winecrt0: Remove the clsid parameter in __wine_(un)register_resources. 2011-08-02 20:47:49 +02:00
Andrew Eikum 9fc0377f64 mmdevapi: Try loading multiple audio drivers from the registry. 2011-07-26 16:30:12 +02:00
Austin English 910b3580a3 mmdevapi/tests: Remove a dead assignment (LLVM/Clang). 2011-07-26 10:19:36 +02:00
Andrew Eikum 80fd691e9e mmdevapi: Use a sane default if no buffer size is requested. 2011-07-18 18:31:06 +02:00
Frédéric Delanoy d473d02c64 mmdevapi/tests: Remove dead assignment (Clang). 2011-07-11 18:34:40 +02:00
Andrew Eikum 0085689f5d mmdevapi: Implement ISimpleAudioVolume::{Set, Get}Mute. 2011-06-20 19:31:57 +02:00
Andrew Eikum f50829c36e mmdevapi: Don't crash if a driver fails to load. 2011-06-20 11:28:53 +02:00
Andrew Eikum bc10fd3ce6 mmdevapi: Sessions should be unique per-device. 2011-06-14 12:59:39 +02:00
Jörg Höhle c192041204 mmdevapi/tests: Fix wrong buffer unit and memory leaks. 2011-06-06 21:49:20 +02:00
Andrew Eikum 4e7d039722 mmdevapi: Add support for IAudioSessionManager in IMMDevice::Activate. 2011-06-06 21:49:19 +02:00
Marcus Meissner dc5c9c5595 mmdevapi: Mark internal symbols with hidden visibility. 2011-05-20 10:33:03 +02:00
Andrew Nguyen a67941d393 mmdevapi: Remove a stray semicolon in macro definition. 2011-05-18 16:54:31 +02:00
Andrew Eikum 91b684325f mmdevapi: IMMDeviceEnumerator::GetDevice should fail on unknown device ids. 2011-05-16 16:35:27 +02:00
Andrew Eikum 8c41caaa20 mmdevapi/tests: Add tests for volume control interfaces. 2011-05-10 14:04:55 +02:00
Andrew Eikum 631d834022 mmdevapi/tests: Make capture.c more easily extendible. 2011-05-09 11:59:03 +02:00
Andrew Eikum 4d2622e65b mmdevapi/tests: Add tests for IAudioSessionControl::GetState. 2011-05-02 18:48:20 +02:00
Andrew Eikum 4a37f2f093 mmdevapi: Initialize global driver data at DLL load time. 2011-05-02 18:48:20 +02:00
Andrew Eikum 29d6fbc3fe mmdevapi/tests: Add tests for IAudioClock. 2011-04-27 17:50:05 +02:00
Andrew Eikum a5cfae6db3 mmdevapi/tests: Add tests for IAudioClient::GetCurrentPadding. 2011-04-25 19:38:25 +02:00
Andrew Eikum 5014099928 mmdevapi: Reimplement using a driver system. 2011-04-25 17:24:50 +02:00
Francois Gouget fc4014454b mmdevapi: Reorder a couple of functions to avoid forward declarations and make MMDevice_SetPropValue() static. 2011-04-11 12:07:39 +02:00
Austin English 8b305ccbd3 mmdevapi/tests: Make sure return values are used (LLVM/Clang). 2011-02-09 09:29:36 -06:00
Austin English f640a38696 mmdevapi/tests: Make sure return value is used (LLVM/Clang). 2011-02-08 14:45:53 -06:00
Michael Stefaniuc 00d1915902 mmdevapi: Use ifaces instead of vtbl pointers in MMDevice. 2011-01-17 13:23:39 +01:00
Andrew Eikum bd6f6bc2dd mmdevapi: Prevent deadlock when releasing a stream that's still playing. 2011-01-11 16:05:31 +01:00
Andrew Eikum 436d26f935 mmdevapi: Children of IAudioClient should hold a reference to their parents. 2011-01-11 16:04:27 +01:00
Andrew Eikum 2e7ee8d9d6 mmdevapi: Be explicit about units in IAudioRenderClient::ReleaseBuffer. 2011-01-05 17:56:52 +01:00
Andrew Eikum 0b608d0f7f mmdevapi: Be explicit about the units of ACImpl::ofs. 2011-01-05 17:56:48 +01:00
Andrew Eikum 045cf8c0af mmdevapi: Be explicit about units of ACImpl::bufsize. 2011-01-05 17:56:43 +01:00
Andrew Eikum bbbf72ddcb mmdevapi: Store period size in frames.
There are three different units to represent durations of audio: time,
bytes, and frames. Since all three are in use in this module, we should
be more explicit about the unit of each variable.
2011-01-05 17:56:36 +01:00
Marcus Meissner acefa93cd6 mmdevapi: Fixed buffer size passed to RegEnumKeyExW. 2010-12-31 16:27:47 +01:00
Michael Stefaniuc 1df7dab115 mmdevapi: Standardize the COM usage in devenum.c. 2010-12-14 12:10:58 +01:00
Michael Stefaniuc 8e77be63f4 mmdevapi: Use an iface instead of a vtbl pointer in AEVImpl. 2010-12-09 12:22:14 +01:00
Alexandre Julliard 343a2cb07a mmdevapi: Convert dll registration to the IRegistrar mechanism. 2010-12-07 13:30:55 +01:00
Michael Stefaniuc ef039627a5 mmdevapi: Use an iface instead of a vtbl pointer in IClassFactoryImpl. 2010-12-06 12:19:47 +01:00
Austin English aba65017d7 mmdevapi/tests: Increase timeout in capture tests. 2010-11-23 14:16:21 +01:00
André Hentschel 36035d0a22 mmdevapi: Add return value which happens on wow64 and pure 64-bit. 2010-11-11 12:21:38 +01:00
André Hentschel fe75e95805 mmdevapi/tests: Fix test on some 2k8 and mark those errors broken. 2010-11-10 12:17:01 +01: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
Austin English f74944d210 mmdevapi: Remove an unused variable. 2010-09-09 12:46:05 +02:00
Henri Verbeet 5c99f4ec6d mmdevapi: Remove the useless CINTERFACE definitions. 2010-08-17 11:55:33 +02:00
Octavian Voicu 8d48b74555 mmdevapi/tests: Prevent crash when GetMixFormat fails. 2010-07-30 11:36:03 +02:00
Maarten Lankhorst 47d28ace15 mmdevapi: Blacklist portaudio. 2010-07-26 18:38:32 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02:00
David Hedberg d5a7ad89aa include: Add IShellItemArray and IShellItemFilter interface declarations. 2010-07-20 14:40:31 +02:00
Francois Gouget 7649c75b40 Assorted typo and spelling fixes. 2010-06-24 10:37:05 +02:00
Francois Gouget 5fe33dcb53 mmdevapi/tests: Add a trailing '\n' to an ok() call. 2010-06-24 10:33:31 +02:00
Alexandre Julliard 41db8e5910 mmdevapi: Don't try to lookup functions if the library isn't found. 2010-05-04 21:30:07 +02:00
Maarten Lankhorst 38517694bb mmdevapi: Add support for openal disconnected extension. 2010-05-04 18:38:58 +02:00
Maarten Lankhorst d440eb7ff2 mmdevapi: Try to detect openal 1.11, and do not blacklist pulseaudio on it. 2010-05-04 13:14:58 +02:00
Maarten Lankhorst 34ffff074f mmdevapi: Add a warning if openal is not available.
As spotted by Christoph Hohmann.
2010-04-29 10:19:38 -05:00
Maarten Lankhorst 8bd65c143f mmdevapi: Silence a fixme when it's harmless. 2010-04-26 10:22:21 -05:00
Maarten Lankhorst 61d78d46c7 mmdevapi: Fix IsFormatSupported and initialization. 2010-04-26 10:21:54 -05:00
Maarten Lankhorst 85339cdb5f mmdevapi: Add some DEVPKEY's to property tests. 2010-04-26 10:21:43 -05:00
Maarten Lankhorst b0dfbcbe08 mmdevapi: Add stub for IAudioEndpointVolume. 2010-04-22 11:53:57 +02:00
Maarten Lankhorst a363c41e04 mmdevapi: Fix small capture bugs. 2010-04-21 15:32:21 +02:00
Maarten Lankhorst 724351ede4 mmdevapi: Add AudioSimpleVolume stub. 2010-04-20 17:42:19 +02:00
Maarten Lankhorst f259ae550e mmdevapi: Add support for IAudioSessionControl2. 2010-04-20 17:42:07 +02:00
Maarten Lankhorst 2e13008735 mmdevapi: Add support for the clock interface. 2010-04-20 17:41:58 +02:00
Maarten Lankhorst f062e1b127 mmdevapi: Add audio capture code. 2010-04-20 17:40:21 +02:00
Maarten Lankhorst cffb95fdb8 mmdevapi: Add support for IAudioRenderClient. 2010-04-20 17:39:55 +02:00
Maarten Lankhorst bcaa470607 mmdevapi: Implement audio formats. 2010-04-20 17:39:11 +02:00
Maarten Lankhorst a94395f502 mmdevapi: Implement some methods in audioclient. 2010-04-20 17:37:58 +02:00