Commit Graph

1527 Commits

Author SHA1 Message Date
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
Jörg Höhle d1a034627c winmm: MCI does not support the 0xhexadecimal notation. 2011-03-14 12:39:28 +01:00
Jörg Höhle fd8576bfdb winmm: Let WideCharToMultiByte search for NUL string terminator (Valgrind). 2011-02-21 12:46:36 +01:00
Gerald Pfeifer 1dae68e71b winmm: Simplify MCI_DumpCommandTable a bit. 2011-02-18 14:54:51 +01:00
Austin English d583f12d8e winmm/tests: Remove dead assignment (LLVM/Clang). 2011-02-17 18:33:42 +01:00
Greg Geldorp e45caf5d6b winmm/tests: Skip some tests on VMware. 2011-01-28 17:41:51 +01:00
Jörg Höhle 0a81f12ce1 winmm: PlaySound ignores SND_NOWAIT. 2011-01-14 18:26:20 +01:00
Alexandre Julliard 8aefc9081c winmm: Convert translations to po files. 2011-01-06 17:50:17 +01:00
Greg Geldorp fa973b812d winmm/tests: Don't use same buffer for both input and output. 2011-01-03 11:54:03 +01:00
Alexander Puzankov 4431c32c91 winmm: Fixed boundary condition in mmioOpen file name parsing. 2010-12-05 16:44:28 +01:00
Alexander Puzankov ec00d6dced winmm/tests: Add tests for mmioOpen for the file name of the form EXAMPLE.EXT+ABC. 2010-12-01 17:16:21 +01:00
Alexander Puzankov 507db530b2 winmm: The default I/O procedure should return MMIOERR_FILENOTFOUND if the openable file is not found. 2010-12-01 17:16:21 +01:00
Alexander Puzankov 304c455b2b winmm: Use the default I/O procedure only if a custom procedure for a given FOURCC is not found. 2010-12-01 17:16:21 +01:00
Alexander Puzankov cc5f2b2c76 winmm: Revert "Handle playing of files containing a '+' as part of the filename.".
This reverts commit ed593fdf2f.
2010-12-01 17:16:20 +01:00
Jörg Höhle 0b0770c84f mciseq: The native MCI sequencer cannot record. 2010-11-12 15:43:46 +01:00
Jörg Höhle bad21ebe76 winmm: Use MCI_HWND and MCI_HDC in resource files. 2010-11-12 15:43:08 +01:00
Jörg Höhle c138970ea2 winmm/tests: Fix test failure in multi-byte locale. 2010-11-11 18:12:50 +01:00
Jörg Höhle d9b16027b0 mciwave: Fix some MCI_STATUS return code. 2010-11-03 14:44:50 +01:00
Jörg Höhle 22055590f6 winmm: MCI_INFO doesn't change the output buffer in case of error. 2010-11-02 12:45:31 +01:00
Jörg Höhle a9f9b34e17 winmm: MCI_SYSINFO doesn't change the output buffer in case of error. 2010-11-02 12:04:37 +01:00
Jörg Höhle 88a8d211fb winmm: mciSendString always returns a response string (albeit empty). 2010-11-02 12:03:03 +01:00
Jörg Höhle 8cf585f69e winmm/tests: Fix one mcicda test failure on VMware. 2010-10-27 18:37:32 +02:00
Detlef Riekenberg aa95bc4e31 winmm/tests: Set a struct member to 0 is obsolete after adding a memset. 2010-10-04 11:03:57 +02:00
Saulius Krasuckas 815cd34c53 winmm/tests: Initialize whole MIDIHDR struct before using it. 2010-10-01 17:48:10 +02:00
Alexandre Julliard 9387810dab winmm: Make MCI_STATUS return type a 64-bit integer on 64-bit platforms.
Based on a patch by Octavian Voicu.
2010-09-29 20:17:01 +02:00
Alexandre Julliard d1e9a09388 winmm: Add support for the MCI_INTEGER64 type.
Based on a patch by Octavian Voicu.
2010-09-29 15:22:00 +02:00
Alexandre Julliard 41a5b37b7a winmm: Use proper structure where possible to fix command string parsing on 64-bit. 2010-09-29 14:47:55 +02:00
Alexandre Julliard c2224ea8bb winmm/tests: Skip tests if MIDI cannot be opened. 2010-09-29 12:19:34 +02:00
Luca Bennati 672b2ff59f winmm: Update Italian translation. 2010-09-27 14:10:44 +02:00
Alexandre Julliard ddac146e7d winmm/tests: Fix some tests that fail on Windows with no input device. 2010-09-22 18:58:46 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Jörg Höhle b4cc03f3e3 winmm: Auto-open MCI core commands only. 2010-09-16 11:16:23 -05:00
Jörg Höhle 8fb1e3eba2 winmm: Support MCI_SOUND. 2010-09-16 11:16:23 -05:00
Jörg Höhle 294d0c9501 winmm: Implement MCIERR_DUPLICATE_ALIAS and MCIERR_DEVICE_OPEN. 2010-09-03 16:02:31 +02:00
Jörg Höhle 6b271b6d3c winmm: GetDeviceID only considers a single name per entry. 2010-09-03 16:02:31 +02:00
Jörg Höhle 565c56c61f winmm: Correctly parse the MCI Sysinfo command. 2010-09-03 16:02:31 +02:00
Jörg Höhle c6a655622c winmm/tests: Share common function dbg_mcierr. 2010-09-03 11:04:47 +02:00
Jörg Höhle d223b30bd6 winmm/tests: Add MCI parser tests. 2010-09-02 18:05:24 +02:00
Jörg Höhle 0030ef8d26 winmm/tests: MCI_STATUS returns DWORD_PTR, unlike other commands. 2010-09-02 18:05:24 +02:00
Jörg Höhle 0cf326ce55 winmm/tests: Add a few Open/Close MCI tests. 2010-09-02 18:05:23 +02:00
Jörg Höhle ec7aef8378 winmm: Always unload the MCI driver when Open fails. 2010-09-02 18:05:23 +02:00
Jörg Höhle e1fe9e4fed winmm: Close MCI device after immediate auto-open commands. 2010-09-02 18:05:23 +02:00
Jörg Höhle ef372e259a winmm: MCI open always creates an alias for subsequent commands. 2010-09-02 18:05:23 +02:00
Octavian Voicu 7f5e835c14 winmm: Replace command ids with symbolic constants in mci command resources. 2010-09-02 11:53:09 +02:00
Octavian Voicu 3324614ed3 winmm: Replace return types with symbolic constants in mci command resources. 2010-09-02 11:51:48 +02:00
Francois Gouget f8c55fdcd1 winmm: Make MCI_{MessageToString,strdupAtoW}() static and remove MCI_strdupWtoA(). 2010-08-31 14:23:47 +02:00
Anders Jonsson 8ecf937c10 winmm: Add Swedish translation. 2010-08-27 11:59:30 +02:00
Jörg Höhle ecb02ec9b7 mcicda: Access the first CD-ROM unless given a device letter. 2010-08-25 18:40:47 +02:00
Jörg Höhle 5bff616faa mcicda: Opens d, d:, d:\, d:\foo since w2k. Only d: is portable. 2010-08-25 18:40:09 +02:00
Jörg Höhle 70d8fce222 winmm/tests: Initial tests for CD audio with the MCI. 2010-08-23 15:52:47 +02:00
Maarten Lankhorst 6910b0f143 winmm: Fix fd leak on restarting timer. 2010-08-16 12:59:36 +02:00
Hwang YunSong c625e95af1 winmm: Update Korean resource. 2010-08-16 12:57:04 +02:00
Anders Jonsson 2ebe732453 winmm: Fix typo in English, Slovak resources. 2010-08-03 11:06:00 +02:00