Commit Graph

1504 Commits

Author SHA1 Message Date
Qian Hong 78b2fd8399 winmm: Fixed mixerGetControlDetails with null paDetails. 2013-10-25 13:36:00 +02:00
Michael Stefaniuc 51ce8f254e winmm/tests: Use the explicit mciSendStringA() form. 2013-10-16 11:41:20 +02:00
Frédéric Delanoy b7b5c88750 winmm/tests: Use BOOL type where appropriate. 2013-10-14 10:44:45 +02:00
Michael Stefaniuc 0e681027a2 tests: Compile the tests by default with -D__WINESRC__. 2013-10-02 11:04:02 +02:00
Francois Gouget 7eeb804907 winmm: Fix two error messages to not point users to a MIDI Mapper configuration applet we don't have. 2013-10-01 19:13:18 +02:00
Lu Jiashu a0ed65f593 winmm: Clone the whole adwInfo array in MMIO_Open. 2013-09-25 13:38:14 +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 Eikum 35e4aac8f6 winmm/tests: Fix waveInGetPosition type.
We're comparing the reported value against dwBytesRecorded, so we should
request the value to be in bytes.
2013-07-27 11:56:24 -05:00
Marcus Meissner faeb9a5bfc winmm: Fix incorrect parameter for test debug (Coverity). 2013-06-28 13:14:25 +02:00
Andrew Eikum d4560b0ce0 winmm/tests: Fix test that fails on NT4. 2013-05-31 19:16:00 +02:00
Andrew Eikum ace442f3b7 winmm/tests: Only test non-mapper devices in interactive mode.
Other devices might be less reliable, but we should generally expect
WAVE_MAPPER to behave well. This also massively reduces test runtime,
depending on how many devices are present.
2013-04-29 11:41:59 +02:00
Akihiro Sagawa 7a22250867 winmm: Inherit the seek position when using standard file handle. 2013-04-04 19:30:21 +02: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 dd0751ae83 winmm/tests: Add tests for non-block-aligned fragment sizes. 2013-03-11 13:38:39 +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 fe7a057a32 winmm: Don't log the uninitialised MCI output buffer in case of error. 2013-03-05 09:37:46 +01:00
Andrew Eikum db92670f97 winmm/tests: Add another valid return code. 2013-03-04 19:28:26 +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 f67bc43e22 winmm: Handle GetTickCount overflow in MIDI player. 2013-02-14 17:37:14 +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
Jörg Höhle b95910ccbc winmm: More compatible midiIn/Out[Un]Prepare MHDR_* flag handling. 2013-02-13 17:19:43 +01:00
Francois Gouget 6ad54620f0 winmm/tests: Allow more margin in the test_asyncWAVE() playback check. 2013-01-22 20:01:57 +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
Andrew Eikum b1d9d43af7 winmm: Don't mask out SND_ALIAS_ID or SND_FILENAME in sndPlaySound. 2012-12-04 19:34:26 +01:00
Akihiro Sagawa c2cf4ddb93 winmm: Fix handling of mmio file buffers. 2012-11-28 20:14:52 +01:00
Akihiro Sagawa 1aa15750ed winmm/tests: Add EOF and buffer pointer tests for mmio. 2012-11-20 13:32:50 +01:00
Akihiro Sagawa 2d3f320463 winmm: Fix SEEK_END direction of mmio files without buffering. 2012-11-13 18:01:44 +01:00
Akihiro Sagawa 10c7f5859c winmm/tests: Add more mmioSeek tests. 2012-11-13 18:01:39 +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
André Hentschel 126fded4a4 winmm: Mark up fallthrough switch case (coverity). 2012-11-08 15:37:51 +01:00
Jörg Höhle 1fc362ce55 winmm: Turn some MCI parser ERR into FIXME. 2012-10-30 14:37:55 +01:00
Maarten Lankhorst 6f84708902 winmm: Do not blindly reset device when already stopped. 2012-10-19 16:51:56 +02:00
Jörg Höhle 8ff7436d21 winmm: The "open new ..." MCI string command sets an empty OPEN_ELEMENT. 2012-09-27 13:08:28 +02:00
Francois Gouget eabbe5ab58 winmm: MMDRV_GetRelated() is not used anymore so remove it. 2012-08-13 11:51:54 +02:00
Michael Stefaniuc d94eaa3b20 winmm: Avoid TRUE FALSE conditional expressions. 2012-07-31 12:36:20 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +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 1b21fe827f mmddk.h: Remove unused, Wine-specific WinMM defines. 2012-04-03 17:53:37 +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 3579bbd8ab winmm: Remove unused define. 2012-03-08 17:57:40 +01:00
Jörg Höhle 21e47e905e winmm: Make midiStream* messages asynchronous to avoid deadlocks. 2012-02-17 18:06:51 +01:00
Jörg Höhle 1b11576005 winmm: Avoid using SuspendThread, it can hang Wine. 2012-02-17 18:06:50 +01:00
Jörg Höhle 197607db2e winmm: Allow new sounds to interrupt previous PlaySound invocations. 2012-02-16 18:51:56 +01: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
Jörg Höhle 644f539358 winmm: Parse MCI colon notation as in T:MM:SS:F. 2012-01-27 18:05:47 +01:00
Jörg Höhle 32c23cbc80 winmm/tests: Properly recover from the WAVERR_STILLPLAYING case. 2012-01-19 21:08:50 +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 8d66ca11d7 winmm: Don't include newlines in standard error messages. 2012-01-03 19:31:10 +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
Marcus Meissner c7f8ad487d winmm: Mark two functions as hidden. 2011-10-03 16:10:52 -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
Francois Gouget 3de330db54 tests: Remove unneeded assert.h includes. 2011-09-27 10:59:56 +02:00
Andrew Eikum b1fdaa81b0 dsound: Remove hardware acceleration support. 2011-09-26 18:38:07 +02:00
Jörg Höhle 5f9e03d118 winmm: waveOutReset returns all buffers. 2011-09-26 18:09:31 +02:00
Jörg Höhle afa5751015 winmm: Separate WINMM_Pause and WINMM_Reset. 2011-09-26 18:09:27 +02:00
Jörg Höhle 38752f5bf7 winmm: Fix sum of available samples. 2011-09-26 18:09:24 +02:00
Michael Stefaniuc f83c470805 winmm: Remove casts to the type of the casted expression. 2011-09-22 19:51:50 +02:00
Francois Gouget 5619b2154b winmm/tests: Make it clear that no msrle.avi file is needed for the standard tests. 2011-09-22 19:51:50 +02:00
Akihiro Sagawa 203d06d410 winmm: Add support for MEVT_LONGMSG. 2011-09-08 20:08:06 +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 Talbot 4aca760126 winmm: Constify some variables. 2011-08-23 16:53:53 +02:00
Jörg Höhle 2e01ea4bda winmm: Remove redundant code. 2011-08-05 15:22:48 +02:00
Jörg Höhle 547f4cace9 winmm: Restore checking of callback flags. 2011-08-05 15:22:48 +02:00
Jörg Höhle b9de906ac1 winmm: Fix logic conditions. 2011-08-05 15:22:48 +02:00
Jörg Höhle 961683704b winmm: Fix memory leak in msacm error path. 2011-08-05 15:22:48 +02:00
Jörg Höhle 7fed738353 winmm: Assign to structs instead of using memcpy. 2011-08-05 15:22:48 +02:00
Jörg Höhle 710d200427 winmm: Replace one HeapAlloc with stack allocation. 2011-08-05 15:22:47 +02:00
Jörg Höhle c7d0c093e5 winmm: Functions that take an open HWAVE don't need StartDevicesThread. 2011-08-03 17:49:47 +02:00
Andrew Eikum 5512c2482f winmm: Fix looping handling. 2011-08-02 11:39:56 +02:00
Andrew Eikum d385675f36 winmm: Fix check for DCB_NULL callback type.
Noticed by Francois Gouget.
2011-07-18 18:31:29 +02:00
Andrew Eikum 2754c75092 winmm: Perform Open and Close callbacks from client thread. 2011-07-18 18:31:24 +02:00
Andrew Eikum 2a58273fcd winmm: Close ACM stream when closing wave device. 2011-07-18 18:31:12 +02:00
Francois Gouget 724b0a928c winmm: Remove an unused variable in WINMM_GetComponentTypeLineInfo(). 2011-07-18 16:23:29 +02:00