Commit Graph

75 Commits

Author SHA1 Message Date
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
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
Jörg Höhle 1cde966c35 winmm: Never write silence, mmdevapi must handle underruns. 2011-10-31 16:53:32 +01:00
Andrew Eikum 0a20ec0935 winmm: Fix clock position calculation. 2011-10-28 17:32:49 +02:00
Michael Stefaniuc 5439aede62 include: Remove 'l' modifier from numeric constants in mmsystem.h. 2011-10-25 16:57:25 +02:00
Andrew Eikum 82f486a1a8 winmm: Use buffer offset when recording. 2011-10-12 17:07:05 +02:00
Andrew Eikum 0d567ff9f8 winmm: Also track input device position. 2011-10-12 17:07:01 +02:00
Andrew Eikum e19be58e90 winmm: Handle DRV_QUERYMAPPABLE in waveXxxMessage. 2011-10-04 15:20:58 -05:00
Jörg Höhle 3ba00cf538 winmm: Mark headers WHDR_DONE at the last possible time. 2011-09-30 10:31:51 -05:00
Andrew Eikum b1fdaa81b0 dsound: Remove hardware acceleration support. 2011-09-26 18:38:07 +02:00