Commit Graph

1579 Commits

Author SHA1 Message Date
Akihiro Sagawa 8d9a7247c3 winmm: Fix SEEK_END handling for memory files. 2014-06-16 18:03:18 +02:00
Akihiro Sagawa 71b8a56c84 winmm: Update lBufOffset after seeking file directly. 2014-06-16 18:03:13 +02:00
Akihiro Sagawa f7ddc1eb95 winmm: Avoid direct seeking for memory files. 2014-06-16 18:03:12 +02:00
Akihiro Sagawa c4629e5af5 winmm: Memory file buffer is available even if we just allocate memory. 2014-06-16 18:03:10 +02:00
Akihiro Sagawa 09a1f81cb4 winmm/tests: Activate some mmioSeek tests with todo_wine keyword. 2014-06-16 16:41:12 +02:00
Bruno Jesus c3a362a4c4 winmm: Fix a memory leak in mciSendStringW (valgrind). 2014-06-11 16:09:52 +02:00
Andrew Eikum a6bf8328fd winmm/tests: Accept MMSYSERR_ALLOCATED for more tests. 2014-03-25 19:05:10 +01:00
Stefan Dösinger 858bb223b4 winmm: Make some joystick functions hookable. 2014-03-03 17:46:54 +01:00
Francois Gouget d155df5c19 winmm/tests: Change the current directory to a place that will be writable. 2014-02-25 14:21:14 -06:00
Frédéric Delanoy 0f2bed51bd Assorted spelling fixes. 2014-02-10 15:47:29 +01:00
Michael Stefaniuc ff7ebba27f winmm/tests: Avoid spurious test failures on Windows. 2014-02-04 13:41:47 +01:00
Andrew Eikum 8695369dc5 winmm: Clean up ACM stream after query. 2014-01-29 15:01:12 +01:00
Alexandre Julliard 99ef0d6ff0 makefiles: Get rid of the MAKE_TEST_RULES variable. 2014-01-02 12:13:16 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Alexandre Julliard 4f3d71cef3 makefiles: Get rid of the no longer used PO_SRCS variables. 2013-12-15 10:23:04 +01:00
Frédéric Delanoy 576102e9aa winmm: Use BOOL type where appropriate. 2013-11-27 10:54:32 +01:00
Andrew Eikum 06c95af457 winmm: Also try MSACM conversions with WAVE_FORMAT_QUERY. 2013-11-19 11:08:22 +01:00
Alexandre Julliard 5756ee09f3 makefiles: Add makedep pragmas for rc files that contain translations. 2013-11-05 20:38:19 +01:00
Michael Stefaniuc 6d7bd62a73 winmm/tests: Compile with -D__WINESRC__. 2013-11-04 11:05:40 +01:00
Michael Stefaniuc 36638ef5f8 winmm/tests: Use a better type for the mixer object. 2013-11-04 11:05:25 +01:00
Michael Stefaniuc a749f27ab3 winmm/tests: Use the explicit CreateEventW() and don't bother testing it. 2013-11-04 11:05:16 +01:00
Michael Stefaniuc 3101b50121 winmm/tests: Fix the includes for generated.c. 2013-10-31 09:58:43 +01:00
Michael Stefaniuc e31d53616f winmm/tests: Use the explicit mciSendCommandA() version. 2013-10-31 09:58:43 +01:00
Michael Stefaniuc d9efd9f67e winmm/tests: Avoid duplicating the tested call in the ok() message. 2013-10-31 09:58:43 +01:00
Michael Stefaniuc ff7511cc0a winmm/tests: Skip tests for MMSYSERR_NODRIVER too. 2013-10-30 09:42:12 +01:00
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
Andrew Eikum 3b16f46794 wineesd.drv: Remove unused WinMM driver. 2011-07-15 12:11:05 +02:00
Andrew Eikum 30eeb996ed winmm: Implement mixer* on top of MMDevAPI. 2011-07-15 10:09:55 +02:00
Andrew Eikum ccd2a24139 winmm: Remove driver implementation of mixer*. 2011-07-15 10:09:53 +02:00
Francois Gouget 70730f9168 winmm: Make WINMM_DRVMessage() static. 2011-07-14 14:48:54 +02:00
Andrew Eikum 8cd5f12e6b winmm: Implement waveIn* on top of MMDevAPI. 2011-07-14 14:40:05 +02:00
Andrew Eikum b3ab657c3b winmm: Remove driver implementation of waveIn*. 2011-07-14 14:39:57 +02:00
Andrew Eikum 58bd405778 winmm: Support WAVE_MAPPED flag in waveOut*. 2011-07-14 14:39:54 +02:00
Andrew Eikum be158e48ad winmm: Implement waveOut* on top of MMDevAPI. 2011-07-12 11:49:21 +02:00
Andrew Eikum 901af51ea3 winmm: Remove driver implementation of waveOut*. 2011-07-12 11:49:01 +02:00
André Hentschel e70de44edf winmm: Remove dead initialization (clang). 2011-07-06 11:20:10 +02:00
Andrew Eikum f78af0e046 winmm/tests: Don't test MCI output if no output devices are available. 2011-07-05 15:48:06 +02:00
Andrew Eikum a700f9e0fc winmm: Pull wave and mixer functions into their own source file. 2011-06-29 10:24:04 -05:00
Andrew Eikum 79575d33ad winmm/tests: Remove uninteresting tests. 2011-06-29 10:23:01 -05:00
Jörg Höhle 40dfd72bdb winmm: Process MCI_DGV_INFO which is larger than MCI_INFO. 2011-05-24 18:28:36 +02:00
Jörg Höhle 7df286c136 winmm: Fix 8KB leak when mmioOpen fails (Valgrind). 2011-05-12 14:24:28 +02:00
Marcus Meissner b4af43db7b winmm: Mark internal symbols with visibility hidden. 2011-04-25 13:02:10 +02:00
Jörg Höhle a174713f82 winmm: DriverCallback returns TRUE iff there is notification. 2011-04-11 17:31:50 +02:00
Jörg Höhle e6a501bbd6 winmm: Trace DriverCallback once upon entry. 2011-04-11 17:31:26 +02:00
Jörg Höhle c3774b664a winmm: Check callback flags prior to opening a driver. 2011-04-04 14:42:12 +02:00
Francois Gouget ff54c00601 winmm: Remove a space before a punctuation. 2011-03-30 18:23:40 +02:00
Jörg Höhle e0dcc2cd7d winmm: PlaySound concurrency cleanup. 2011-03-30 13:28:04 +02:00
Jörg Höhle a0dbd846c6 winmm: Get rid of psStopEvent which was never used like an event. 2011-03-30 13:28:04 +02:00
Jörg Höhle ca37dbcfe6 winmm: Abort PlaySound in case of audio error. 2011-03-30 13:28:04 +02:00
Jörg Höhle 15ad749ece Revert "winmm: Fix PlaySound so it doesn't block when another sound is already playing.".
This reverts commit f44bc89bc4.
Let the player thread call waveOutReset itself instead.
2011-03-30 13:28:04 +02:00
Francois Gouget 74a75e479b winmm: Add full stops to some error messages. 2011-03-16 14:14:23 +01:00