Commit Graph

87 Commits

Author SHA1 Message Date
Michael Stefaniuc 24f4781216 winmm: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 16:37:19 +02:00
Fabian Maurer 7000af5547 winmm: Don't crash in waveOutOpen when nSamplesPerSec is 0 and add tests.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45530
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:16:00 +02:00
Louis Lenders 8dca6c35e1 winmm: Return error in waveInMessage if either dwParam1 or dwParam2 is null.
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-02 21:55:52 +02:00
Louis Lenders d7bd861ae6 winmm: Return error in waveOutMessage if either dwParam1 or dwParam2 is null.
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-24 17:08:54 +02:00
Nikolay Sivov 57612cdefc winmm: Free device format when closing a device (Valgrind).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-09 21:59:58 +09:00
Michael Stefaniuc fb1f42754d winmm: Remove redundant NULL checks before CoTaskMemFree().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-08 20:13:04 +09:00
Sebastian Lackner 4dcb219339 winmm: Unset DebugInfo->Spare[0] before destroying critical sections.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:06:54 +09:00
Andrew Eikum 992e3c5dc8 winmm: Reset dwUser in mixerGetLineInfo.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 12:17:45 +09:00
Nikolay Sivov a360cc47d5 winmm: For consistency forward wReserved1 values from -W to -A calls too.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-25 13:22:38 +09:00
Nikolay Sivov 062bbb91a7 winmm: Initialize reserved fields of data returned by waveOutGetDevCapsA and waveInGetDevCapsA (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-20 22:19:29 +09:00
Alex Henrie e4fce5058d winmm: Make mixer UI translatable. 2015-05-21 14:18:44 +09:00
Alexandre Julliard 6c3aac3e4a winmm: Print full flag values in traces. 2015-03-30 19:49:15 +09:00
Andrew Eikum bbc5244c0b winmm: Allow HMIXEROBJ handles in place of device IDs in mixerGetDevCaps. 2015-01-27 21:30:21 +01:00
Andrew Eikum cba322d71d winmm: Allow larger MMTIME sizes. 2014-12-15 18:13:35 +01:00
Andrew Eikum 5b7e49e84a Revert "winmm: Increase mmdevapi buffer sizes.".
This reverts commit fdfff7cf60.

In theory, this commit should have had no affect on winmm-using
applications and just prevented underruns on the mmdevapi side. But
Patrol Falcon abuses the winmm API by modifying the buffer after
passing it to waveOutWrite, and this patch breaks that behavior. We've
improved the winecoreaudio driver since this patch was sent, and so
large buffers should no longer be necessary to avoid underruns.
2014-12-04 11:10:22 +01:00
Qian Hong b3ebdd904c winmm: Also initialize sound device thread in mixerGetControlDetails.
Fixed volume control in EveryonePiano.
2014-09-29 18:56:00 +02:00
Andrew Eikum 8695369dc5 winmm: Clean up ACM stream after query. 2014-01-29 15:01:12 +01:00
Andrew Eikum 06c95af457 winmm: Also try MSACM conversions with WAVE_FORMAT_QUERY. 2013-11-19 11:08:22 +01:00
Qian Hong 78b2fd8399 winmm: Fixed mixerGetControlDetails with null paDetails. 2013-10-25 13:36:00 +02:00
Andrew Eikum fdfff7cf60 winmm: Increase mmdevapi buffer sizes.
The tiny buffer size caused audio capture glitches on OSX, where the OS
often returns audio in half-second chunks.
2013-08-21 19:55:25 +02:00
Fabrice Bauzac 21e0f739be winmm: Fix WOD_Open() WID_Open() WAVE_MAPPER no-device case. 2013-08-21 12:13:55 +02:00
Andrew Eikum 0627ddcf15 winmm: Don't count unused frames. 2013-07-27 11:56:28 -05:00
Andrew Talbot 11ebf851b2 winmm: Remove unneeded address-of operator from function name. 2013-04-01 12:19:21 +02:00
Andrew Eikum 2d76befbdd winmm: Shutdown the devices thread when all devices are closed. 2013-03-26 12:11:47 +01:00
Jörg Höhle 2722f2cbfc winmm: Fix GetPosition when using MSACM codecs. 2013-03-12 16:29:11 +01:00
Andrew Eikum f74128f132 winmm: Truncate buffers to align to frame size. 2013-03-11 13:38:30 +01:00
Jörg Höhle 4f0743bffa winmm: WAVE_OPEN_QUERY causes no WIM/WOM_OPEN notification. 2013-02-22 17:36:21 +01:00
Jörg Höhle d4b2d48f24 winmm: More compatible waveIn/Out[Un]Prepare WHDR_* flag handling. 2013-02-13 17:19:43 +01:00
Francois Gouget f963f93964 Assorted spelling fixes. 2013-01-07 11:10:40 +01:00
Michael Stefaniuc 3b4bb9dcf3 winmm: Add missing LeaveCriticalSection on error paths (Smatch). 2013-01-07 11:09:30 +01:00
Andrew Eikum 93348b21f7 winmm: Don't map the device if WAVE_FORMAT_DIRECT is given. 2013-01-02 13:35:51 +01:00
Andrew Eikum 8f03c51e55 winmm: Reroute WAVE_MAPPER devices as the default device changes. 2012-12-28 11:26:40 +01:00
Andrew Eikum b73da85dec winmm: Open WAVE_MAPPER devices in their own devices array. 2012-12-27 12:08:21 +01:00
Andrew Eikum 68679158b6 winmm: Don't give a period time to IAudioClient::Initialize. 2012-12-27 12:08:14 +01:00
Andrew Eikum 4ab4bc5d09 winmm: Rearrange device mapping when a new default device is chosen. 2012-12-26 18:23:06 +01:00
Andrew Eikum 08f73e2a07 winmm: Use a separate array to map the default device. 2012-12-24 13:32:58 +01:00
Jörg Höhle f5628373e5 winmm: Call IsFormatSupported for WAVE_FORMAT_QUERY only. 2012-11-09 11:51:39 +01:00
Jörg Höhle e3e0bfca20 winmm: Avoid generic MMSYSERR_ERROR during initialisation. 2012-11-09 11:50:45 +01:00
Jörg Höhle 6086c7be19 winmm: Prefer using MMSYSERR_* over AUDCLNT_E_* from mmdevapi. 2012-11-09 11:48:53 +01:00
Maarten Lankhorst 6f84708902 winmm: Do not blindly reset device when already stopped. 2012-10-19 16:51:56 +02:00
Michael Stefaniuc d94eaa3b20 winmm: Avoid TRUE FALSE conditional expressions. 2012-07-31 12:36:20 +02:00
Andrew Eikum 47332210dd winmm: Don't call MMDevAPI during process exit. 2012-05-11 15:39:21 +02:00
Andrew Eikum 31291cdc6c winmm: Close open wave devices upon process detach. 2012-05-08 09:30:31 +02:00
Andrew Eikum d022cc1ddf winmm: Support DRV_QUERYDEVICEINTERFACE in waveXxxMessage. 2012-04-06 20:12:21 +02:00
Andrew Eikum 447b045825 winmm: Report waveIn devices' component type as Microphone. 2012-03-28 11:35:52 +02:00
Andrew Eikum 6a6e1bd50e winmm: Support DRVM_MAPPER_PREFERRED_GET in waveXxxMessage. 2012-03-28 11:35:44 +02:00
Andrew Eikum 74d6990494 winmm: TRACE unhandled messages. 2012-02-07 14:03:02 -06:00
Andrew Eikum be7a93cf56 winmm: Downgrade most ERRs to WARNs. 2012-02-07 14:02:58 -06:00
Andrew Eikum 6847e882b8 winmm: Initialize COM for MULTITHREADED, not APARTMENTTHREADED. 2012-01-31 20:39:11 +01:00
Andrew Eikum 04ab858fef winmm: Only start the devices thread when necessary. 2012-01-16 19:32:50 +01:00