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