Commit Graph

246 Commits

Author SHA1 Message Date
Jörg Höhle b18c5e811f mmdevapi: SetEventHandle is allowed only once. 2012-12-18 16:30:36 +01:00
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
Maarten Lankhorst 416f0156d6 mmdevapi: Set PKEY_AudioEngine_DeviceFormat for capture too. 2010-04-20 17:37:14 +02:00
Maarten Lankhorst fa202c52c3 mmdevapi: Add initial audioclient stub. 2010-04-20 17:35:36 +02:00
Maarten Lankhorst f9293dc977 mmdevapi: Improve EndpointNotificationCallback stubs. 2010-04-20 17:34:59 +02:00
Maarten Lankhorst ab13ffa454 mmdevapi: Fix wrong blacklist test. 2010-04-16 16:23:11 +02:00
Maarten Lankhorst e9cee6fbe0 mmdevapi: Don't load openal on older openal-soft versions. 2010-04-15 17:05:54 +02:00
Maarten Lankhorst 3d6908c53d mmdevapi: Add OSS to blacklist on linux. 2010-04-15 17:05:49 +02:00
Maarten Lankhorst e9f520467d mmdevapi: Blacklist alsa hw devices. 2010-04-12 12:51:43 +02:00
Alexandre Julliard aed8b8cd8d mmdevapi/tests: Mark some failing tests as todo. 2010-04-06 14:27:56 +02:00
Alexandre Julliard 87f1933d86 mmdevapi/tests: Remove some todos that succeed now. 2010-04-06 14:26:23 +02:00
Alexandre Julliard a7d000e2e2 mmdevapi: Include system headers before Wine headers. 2010-04-05 17:44:23 +02:00
Maarten Lankhorst 7b36f6658b mmdevapi: Use openal to enumerate devices. 2010-04-05 17:43:00 +02:00
Maarten Lankhorst 2c067ed31e mmdevapi: Add dependency on openal. 2010-04-05 17:41:21 +02:00
Maarten Lankhorst 918ae89227 mmdevapi: Add alext.h for openal support. 2010-04-05 16:50:37 +02:00
Maarten Lankhorst 5a954d4032 mmdevapi: Add uuid include. 2010-04-05 16:47:27 +02:00
Maarten Lankhorst a9e43cad15 mmdevapi: Add capture tests. 2010-03-30 14:49:31 +02:00
Maarten Lankhorst 714ae4112a mmdevapi: Add a few more render tests. 2010-03-30 14:49:30 +02:00
Mikhail Maroukhine 8ca9621ecc mmdevapi: Fix compiler warnings with flag -Wcast-qual. 2010-03-29 12:14:18 +02:00
Paul Vriens 7a80e97601 mmdevapi/tests: Fix test failure on some Vista boxes. 2010-03-25 15:10:13 +01:00
Francois Gouget 3428b94a8d Assorted spelling and case fixes. 2010-03-22 10:49:13 +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 693c991626 mmdevapi: Pass a property bag to IBaseFilter in IMMDevice::Activate. 2010-03-15 17:47:01 +01:00
Maarten Lankhorst 55b48ff662 mmdevapi: Implement IMMDeviceEnumerator::GetDevice. 2010-03-15 17:46:54 +01:00
Maarten Lankhorst d53dc08ec5 mmdevapi: Implement MMDeviceCollection methods. 2010-03-15 17:46:50 +01:00
Maarten Lankhorst 9371fd5f95 mmdevapi: Implement some methods in IMMDevice. 2010-03-15 17:46:45 +01:00
Maarten Lankhorst 99f3ee3804 mmdevapi: Add IMMEndpoint to IMMDevice. 2010-03-15 17:46:38 +01:00
Maarten Lankhorst 90c30b3ad1 mmdevapi: Implement property store. 2010-03-15 17:46:25 +01:00
Jeff Zaroyko 0a6ac95736 mmdevapi/tests: Fix a failing test for Vista/W2k8. 2010-03-05 12:41:07 +01:00
Maarten Lankhorst 9924b40eb9 mmdevapi: Implement a stub of MMDevice. 2010-03-01 11:47:56 +01:00
Maarten Lankhorst 520a2830d5 mmdevapi: Add todo_wine in dependency test. 2010-02-22 15:18:27 +01:00
Maarten Lankhorst 8f76035d97 mmdevapi: Add tests for renderclient. 2010-02-22 15:18: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
Maarten Lankhorst 965e2ebba6 mmdevapi: Add some basic property store tests. 2010-02-01 13:55:56 +01:00
Maarten Lankhorst 6299544cdd mmdevapi: Dump device id in test. 2010-01-18 15:47:30 +01:00
Maarten Lankhorst abd9627d92 mmdevapi: Add code to enumerate NOTPRESENT devices. 2010-01-18 15:47:25 +01:00
Reece Dunn a2c41b72f8 Don't generate FIXME warnings for DllCanUnloadNow. 2010-01-06 10:59:51 +01:00
Maarten Lankhorst 7615ec0700 mmdevapi: Fix reference leak in tests.
Reported by Dan Kegel
2010-01-06 09:54:25 +01:00
Maarten Lankhorst f10d56088e mmdevapi: Add test showing collection doesn't keep ref on parent. 2010-01-05 12:27:32 +01:00
Maarten Lankhorst 5e9ec19217 mmdevapi: Add an empty IMMDeviceCollection implementation. 2010-01-05 12:27:27 +01:00
Maarten Lankhorst 056588abbc mmdevapi: Constify IMMDeviceEnumeratorVtbl. 2010-01-05 12:27:19 +01:00
Maarten Lankhorst 3410ab8b7c mmdevapi: Add stubs for MMDevEnum with tests. 2010-01-04 17:06:58 +01:00
Paul Vriens 20a50f30c4 mmdevapi/tests: Fix a test failure on Vista+ with no soundcard present. 2009-12-24 17:01:32 +01:00
Maarten Lankhorst b80fe3618b mmdevapi: Add class factory. 2009-12-16 12:42:40 +01:00
Maarten Lankhorst 0c8fbb288f mmdevapi: Add more tests. 2009-12-14 12:55:57 +01:00
Maarten Lankhorst c38de04e45 mmdevapi: Add some initial tests. 2009-12-14 12:55:39 +01:00
Maarten Lankhorst a9a3a8e155 mmdevapi: Add initial mmdevapi dll. 2009-12-10 16:05:28 +01:00