83 Commits

Author SHA1 Message Date
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 fdfff7cf6013a030f2b240b13b02831e502d49e7.

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
Jörg Höhle
d8d4aed845 winmm: GetCurrentPadding is superfluous while recording. 2012-01-11 19:42:53 +01:00
Jörg Höhle
afe7bc06e6 winmm: Ignore broken nBlockAlign and AvgBytes within PCMWAVEFORMAT. 2012-01-06 19:24:27 +01:00
Jörg Höhle
9ef4a0099c winmm: Fix conversion to MMTIME, avoid floating point arithmetic. 2012-01-05 21:27:34 +01:00
Francois Gouget
814c854fd2 winmm: Give a name to the critical sections, make them static and delete them when unloading the dll. 2011-11-15 19:37:36 +01:00