Commit Graph

1366 Commits

Author SHA1 Message Date
Eric Pouech 22daf0e216 winmm: Move the 16=>32W MCI map functions to mci16.c. 2009-10-21 16:05:55 +02:00
Eric Pouech ebcbdb9cdc winmm: Simplify mciLoadCommandResource by dropping 16bit module support. 2009-10-21 16:05:55 +02:00
Marcus Meissner 8ba51495fc winmm: Handle NULL szFileName in mmioOpen16 (Coverity). 2009-10-19 11:42:53 +02:00
Marcus Meissner 6999921a6d winmm: Return error on NULL ioProc (Coverity). 2009-10-19 11:41:52 +02:00
Eric Pouech b6c7eda2d3 winmm: Get rid of WINE_TIMER_IS32 internal flag. 2009-10-19 11:41:27 +02:00
Eric Pouech 09a9c87d6b mmsystem: Cleanly separate MCI in MMSystem from WinMM code. 2009-10-19 11:38:34 +02:00
Eric Pouech 4633822cdf mmsystem: Move the 16-bit MCI functions to a new mci16.c file. 2009-10-19 11:38:10 +02:00
Eric Pouech 4587a322df winmm: Protect MCI_SYSINFO against null buffers. 2009-10-19 11:36:38 +02:00
Ken Thomases 8b086d6050 winmm/tests: Don't complain for Wine drivers that allow multiple wave-out opens. 2009-10-16 13:36:41 +02:00
Eric Pouech 99c4b22bab winmm: Transform the mmio proc kind into a boolean (to distinguish between ANSI and Unicode). 2009-10-15 12:06:18 +02:00
Eric Pouech e5b4559d2e winmm: Create real 16<>32 thunks for mmio support in MMSystem. 2009-10-15 12:06:17 +02:00
Eric Pouech f4c561746c mmsystem: Move the 16bit mmio code into a dedicated file (mmio16.c). 2009-10-15 12:06:17 +02:00
Paul Vriens 55b3a9c906 winmm/tests: Fix some test failures in Win9x and WinMe. 2009-10-14 11:50:27 +02:00
Jörg Höhle d48d923df3 winmm: MCI notification is controlled by keyword only. 2009-10-14 11:27:08 +02:00
Eric Pouech 0d5c65fef2 winmm: Reduce in MMSystem the calls to WinMM's internals. 2009-10-09 11:50:28 +02:00
Eric Pouech 5b8b9d6da7 winmm: Remove direct inclusion of winemm.h in winemm16.h. 2009-10-09 11:50:28 +02:00
Jörg Höhle ad75d9a217 winmm/tests: Correct (IMA)ADPCM test. 2009-10-06 16:13:17 +02:00
Eric Pouech dd6b7b7f36 winmm: Correctly fill the yield-data parameter in mciGetYieldProc. 2009-10-05 15:18:21 +02:00
Jörg Höhle 376f74b452 winmm: Require at least 16 bytes in the WAVE fmt header for PlaySound. 2009-10-05 15:01:04 +02:00
Eric Pouech 0ba570141d winmm: Correctly check for the installed default ioProcs. 2009-08-29 17:11:10 +02:00
Vladimir Pankratov 590bb35079 winmm: Convert the Russian resources to UTF-8. 2009-08-05 13:10:56 +02:00
Michael Stefaniuc 360478e144 winmm: Convert the German resources to UTF-8. 2009-07-09 15:24:01 +02:00
Dan Kegel ea5a6f2db5 winmm: Don't convert return string in mciSendStringA on error. 2009-07-06 14:35:27 +02:00
Frédéric Delanoy da81ee2520 winmm: Fix French translation. 2009-07-06 14:35:25 +02:00
Michael Stefaniuc 0b16b40148 winmm: Build language resource files separately.
Do not include them from an other rc file.
2009-07-03 11:28:51 +02:00
Aurimas Fišeras f404fd787f winmm: Add Lithuanian translation. 2009-07-02 11:30:13 +02:00
Gerald Pfeifer c4a0539a79 winmm: Use & instead of && for bit test in wave_out_test_deviceOut(). 2009-06-08 14:28:49 +02:00
Paul Vriens 1aa71ea39e winmm/tests: Remove an unreliable test. 2009-06-01 16:16:02 +02:00
Gerald Pfeifer d840311f24 winmm/tests: Fix test in wave_out_test_deviceOut(). 2009-05-25 14:25:50 +02:00
Alexandre Julliard 8f813fd4e4 winmm: Fix some Win64 pointer truncations issues. 2009-05-20 17:52:46 +02:00
Łukasz Wojniłowicz 6c81f8b056 winmm: Added Polish translation. 2009-05-08 13:22:40 +02:00
Detlef Riekenberg be0721d442 winmm/tests: Fix a test on win98. 2009-04-09 11:19:15 +02:00
Aric Stewart 7e8e9c41e9 winmm: SND_ALIAS and SND_ALIAS_ID overlap so when checking for SND_ALIAS_ID make sure it is SND_ALIAS_ID and not SND_ALIAS. 2009-04-02 16:28:30 +02:00
Aric Stewart c08b0a0a9d winmm: Properly cleanup in return from proc_PlaySound if system sound is not found.
Prevents hanging in Outlook 2000 on sound cleanup.
2009-04-02 16:28:30 +02:00
Eric Pouech 2dbc7d5c41 winmm: Added support for SND_ALIAS_ID in winmm.PlaySound[AW]. 2009-03-30 14:20:48 +02:00
Alexandre Julliard b0530a5fbd winmm: Make sound.drv into a stand-alone 16-bit module. 2009-03-23 20:35:00 +01:00
Francois Gouget 8f2b4954b0 winmm: Try to load the Esound driver as a last resort.
This gets sound working out of the box on Solaris.
2009-03-10 12:05:20 +01:00
Michael Stefaniuc 8fde5bf807 winmm: Remove superfluous pointer casts. 2009-02-20 18:07:42 +01:00
Michael Stefaniuc 1134008973 winmm: Remove commented out code.
The code tried to optimize the usage of the 32bit A(scii) winmm API
with a 16bit driver.
2009-02-19 12:52:21 +01:00
Alexandre Julliard 9f32c0d9d6 winmm/tests: Assume volume is not supported if waveGetOutVolume fails. 2009-02-16 12:29:11 +01:00
Alexandre Julliard 3c68ba1bad winmm/tests: Don't test upper bound on sound duration, it's not guaranteed.
Also avoid infinite waits.
2009-02-11 15:56:03 +01:00
Alexandre Julliard 7ca85aa9ea winmm: Disable system thread if poll() support is missing. 2009-02-06 22:33:06 +01:00
Michael Stefaniuc b8a5ab2924 winmm: SendDriverMessage takes LPARAM as 3rd and 4th argument. 2009-02-06 13:04:50 +01:00
Michael Stefaniuc 3415f7788c include: Change some DWORD to DWORD_PTR in mmddk.h.
This matches the DDK and removes 14 Win64 compile warnings.
2009-02-04 12:26:05 +01:00
Andrew Talbot 84666d84a5 winmm: Declare some functions static. 2009-02-02 12:11:55 +01:00
Alasdair Sinclair 986b957e4a winmm/tests: Fix missing void in empty parameter list. 2009-01-29 12:19:49 +01:00
Andrew Nguyen cb6ddfc75b winmm: Make the return behavior of waveOutPrepareHeader consistent for 16-bit and 32-bit. 2009-01-26 15:07:07 +01:00
Alexandre Julliard 023df85183 winmm/tests: Increase the timing tolerances some more. 2009-01-20 14:02:12 +01:00
Alexandre Julliard ec1b28edb0 include: Fix a number of mmsystem.h structure for Win64. 2009-01-09 18:08:29 +01:00
Alexandre Julliard 94d9cfadb0 winmm/tests: Fix handle casting warnings on 64-bit. 2009-01-03 20:15:25 +01:00
Christian Costa 6d8fdefb4a winmm: Check param in joyConfigChanged. 2009-01-02 11:53:12 +01:00
Dan Kegel a7a50e0315 winmm: Don't crash on PlaySound(... SND_ALIAS_ID). 2008-12-29 12:16:18 +01:00
Paul Vriens cb05885f5d winmm/tests: Fix a test failure on NT4 and W2K. 2008-12-23 12:51:23 +01:00
Andrew Nguyen 0135bf8a0c winmm: mixerOpen should return success with NULL dwCallback and CALLBACK_WINDOW flag. 2008-12-22 13:43:56 +01:00
Andrew Nguyen 64cf306292 winmm/tests: Refactor the mixerOpen and mixerClose tests and add a few additional test cases. 2008-12-22 13:43:42 +01:00
Andrew Nguyen 81e37d19e3 winmm/tests: Fix a mismatched failure message. 2008-12-22 13:43:33 +01:00
Vitaliy Margolen cb32c954ba winmm: Stub joyConfigChanged. 2008-12-22 10:29:06 +01:00
Andrew Talbot adb5eb9c11 winmm: Sign-compare warning fix. 2008-12-15 13:25:38 +01:00
ByeongSik Jeon 5f3287d79f *Ko.rc: Update Korean resource.
Fix the unnecessary SUBLANG_NATURAL.
Change the font size from 8 to 9.
2008-12-11 12:21:07 +01:00
Maarten Lankhorst 2233f1eb50 winmm: Some 64-bit pointer fixes. 2008-11-26 14:15:39 +01:00
Francois Gouget b3bf746ff9 Straighten out some ellipses. 2008-11-26 12:33:34 +01:00
Francois Gouget 9c5e97aa71 Assorted spelling fixes. 2008-11-24 14:25:10 +01:00
Alistair Leslie-Hughes aa50cd316c winmm: Increase tolerance range. 2008-11-12 11:49:12 +01:00
Paul Vriens 05c40e08a6 winmm/tests: Fix a test failure on Vista and W2K8. 2008-11-12 11:49:11 +01:00
Paul Vriens 47dddefbb2 winmm/tests: Fix a test failure on Vista and W2K8. 2008-11-07 13:56:08 +01:00
Paul Vriens 97802ef16b winmm/tests: Fix failure on Win9x and WinMe. 2008-11-06 15:01:07 +01:00
Michael Stefaniuc 4f199a10ad Remove the remaining casts of NULL. 2008-11-03 13:42:09 +01:00
Andrew Nguyen 71eb8e10cd winmm: Fix a potential infinite recursion bug. 2008-10-29 13:29:33 +01:00
Vitaliy Margolen 9fbe249f3c winmm: Support more joysticks. 2008-10-27 11:28:39 +01:00
Dmitry Timoshkov d40e003303 winmm: MMIO_ALLOCBUF is ignored if mmioOpen gets a valid buffer.
Existing tests show that MMIO_ALLOCBUF flag is dropped if a valid buffer
is being passed to mmioOpen, that means the buffer is valid in that case.
2008-10-21 13:22:51 +02:00
Alexandre Julliard 7f327237bf Convert remaining source files to utf-8. 2008-10-18 19:23:08 +02:00
Jeff Zaroyko bba54cd407 winmm: Fix a failing mixer test on 98 and ME. 2008-10-17 12:38:52 +02:00
Kai Blin d9145df0da winmm: Use skip() instead of trace() when skipping tests. 2008-10-14 13:41:56 +02:00
Marcus Meissner 0ff2c06c1d Fixed RegEnumKey(Ex)W buffer sizes. 2008-10-13 12:04:26 +02:00
Muneyuki Noguchi 6869b54caa winmm: Convert Japanese resource to UTF-8. 2008-10-13 11:41:33 +02:00
Dmitry Timoshkov 5d24cb4565 winmm: The buffer provided by an application is valid only in the mmioOpen(FOURCC_MEM) case. 2008-10-10 12:54:41 +02:00
Paul Vriens c0e4e2da1e winmm/tests: Fix some failures on Vista and W2K8. 2008-10-10 12:27:39 +02:00
Paul Vriens 6c0467c18c winmm/tests: Fix the failures on Win9x and WinMe. 2008-10-10 12:27:36 +02:00
Paul Vriens f4ba76e1d1 winmm/tests: Fix a test on win9x. 2008-09-08 12:49:12 +02:00
Maarten Lankhorst 6a7127bfc2 winmm: Test opening the same device twice.
Behavioral test to show that wine winmm needs fixing.
2008-08-19 13:36:16 +02:00
Jeff Zaroyko 4603c87351 winmm: Remove misleading message. 2008-08-18 17:15:56 +02:00
Christian Costa 48b459afff winmm: Implement stub for midiConnect and midiDisconnect. 2008-08-18 17:15:56 +02:00
Dan Kegel 6f164d504b winmm/tests: Test mciSendString with non-null return string buffer. 2008-07-23 13:53:56 +02:00
Huw Davies 5798b95a51 winmm: Only fill in the MIXERLINEA struct if the call to mixerGetLineInfoW succeeds. 2008-07-18 13:41:19 +02:00
Dmitry Timoshkov 4d2a2860a5 winmm: Add another test confirming that mmioDescend does set fccType of non RIFF/LIST chunks to 0. 2008-06-25 20:28:13 +02:00
Dan Kegel 97f4fbca7e winmm/tests: Initialize MIXERLINECONTROLSA before calling mixerGetLineControlsA. 2008-06-23 12:46:04 +02:00
Dmitry Timoshkov efcdb202b2 winmm: Clear the fccType in mmioDescend for a not RIFF/LIST case. 2008-06-18 17:11:27 +02:00
Dmitry Timoshkov 64cbea525b winmm: Add the tests for mmioOpen and mmioSetBuffer, make them pass under Wine. 2008-06-18 17:11:14 +02:00
Francois Gouget 414ea6eeee winmm: Remove spaces before '\n' in resource strings. 2008-06-11 20:03:08 +02:00
Matthew D'Asaro f684dac0fc mmio: Do not zero current file position whenever mmioSetBuffer is called. 2008-06-05 11:27:54 +02:00
Zac Brown d62c3197b3 winmm: msiSendStringW: Don't free substring after original string has already been freed. 2008-06-04 12:51:49 +02:00
Dan Kegel b608e39e1f winmm: Use HeapAlloc in the capture test instead of using strdup. 2008-05-26 19:46:23 +02:00
Maarten Lankhorst 72be44ee7d winmm: Fix valgrind warnings on exit. 2008-05-22 23:39:11 +02:00
Maarten Lankhorst 6589d9ab95 winmm: Use HeapAlloc in the wave test instead of using strdup. 2008-05-22 21:29:48 +02:00
Jens Albretsen f876426e87 winmm: Danish translation. 2008-05-07 12:10:16 +02:00
Francois Gouget 633ee950a1 Assorted spelling fixes. 2008-05-07 12:07:11 +02:00
Maarten Lankhorst fc777c0ed3 winmm: Make mixer test less strict so it passes with SoundMAX drivers on XP. 2008-05-06 11:25:31 +02:00
Lei Zhang d20f982433 winmm: Do not unload drivers when the process is terminating. 2008-04-29 14:57:30 +02:00
James Hawkins 4daec079c1 winmm: Remove a failing test that is driver-specific. 2008-04-25 11:33:59 +02:00
Robert Reif fa9a26921c winmm: Fix a test failure on Windows with Terminal Server. 2008-04-25 11:28:57 +02:00
Austin English 6e59cd2c34 Spelling fixes. 2008-04-22 12:20:12 +02:00
Rok Mandeljc f261e6db4d winmm: Slovenian translation: Add a string that got lost during last update. 2008-04-14 12:42:43 +02:00
Rok Mandeljc 38323f8284 winmm: Updated Slovenian translation. 2008-04-07 21:40:29 +02:00
Andrew Talbot d3e904202a winmm: Assign to struct instead of using memcpy. 2008-03-24 11:33:10 +01:00
Maarten Lankhorst 15907b5035 winmm: Fix midi deadlock by not holding lock on release. 2008-03-18 11:15:18 +01:00
Rob Shearman 48000893f9 makefiles: Simplify the use of the IMPORTLIB variable in the DLL makefiles.
Only specify the root to keep platform-specifics out of the individual 
DLL makefiles.
2008-03-04 20:55:01 +01:00
Francois Gouget dcb8dd3ce3 winmm/tests: Don't use 0x55 to avoid any confusion when running with +heap. 2008-03-03 12:07:02 +01:00
Alexandre Julliard edb91ce519 winmm/tests: Make sure the callback thread has a message queue. 2008-02-28 19:56:48 +01:00
Andrew Talbot 19c5811256 winmm: Remove unneeded casts. 2008-02-06 12:43:53 +01:00
Alexandre Julliard 9d3dcae1fb winmm: Load only one sound driver at a time. 2008-01-16 19:15:25 +01:00
Austin English 79c0bc28ff More spelling fixes. 2008-01-04 12:55:45 +01:00
Alexandre Julliard dfc0564993 winmm/tests: Don't mess with the mixer controls in non-interactive mode. 2007-12-05 13:47:30 +01:00
Aric Stewart 35ecb1b6ee winmm: Correct check for MIXER_GETLINECONTROLSF_ONEBYTYPE in mixerGetLineControlsA. 2007-11-29 15:32:03 +01:00
Michael Stefaniuc 3e8970602c dlls: Remove duplicate includes. 2007-11-19 13:54:46 +01:00
Dan Kegel 3d9b69f5a3 winmm: Avoid testing linecontrols if can't get line info. 2007-10-26 14:04:03 +02:00
Andrew Talbot 11f5ed28cb winmm: Fix some memory leaks. 2007-10-15 16:56:18 +02:00
Maarten Lankhorst d322d63b10 winmm: Set default sound driver to alsa,oss,coreaudio. 2007-10-09 17:52:46 +02:00
Americo Jose Melo c5ba90131e Update the Portuguese translation. 2007-09-13 13:28:26 +02:00
Francois Gouget cba68f4cd5 mmsystem: Better stick the the PSDK types. 2007-08-30 17:02:49 +02:00
Francois Gouget 7e8a9e3dfb winmm: Fix the mmTask*() prototypes. 2007-08-30 17:02:48 +02:00
Maarten Lankhorst 93b6f15826 winmm: Don't operate on freed data in timer. 2007-07-27 12:23:43 +02:00
Michael Stefaniuc d14da0763d winmm: Replace malloc with HeapAlloc. 2007-06-26 11:58:06 +02:00
Michael Stefaniuc cc2773008e winmm: Do not dump the version info when loading drivers. 2007-06-22 12:18:30 +02:00
Vedran Rodic f44bc89bc4 winmm: Fix PlaySound so it doesn't block when another sound is already playing. 2007-06-11 20:18:04 +02:00
Alexandre Julliard 86b40413fe winmm: Initialize the timer critical section statically. 2007-06-11 18:13:06 +02:00
Alexandre Julliard 3f20252e5e winmm: Maintain the timer list sorted by expiration time. 2007-06-11 18:11:03 +02:00
Alexandre Julliard e8af10e6b0 winmm: Convert the timer list to a standard Wine list. 2007-06-11 17:35:04 +02:00
Alexandre Julliard 1e178be862 winmm: Get rid of the WINE_MM_IDATA global structure, there's only one instance anyway. 2007-06-07 17:50:28 +02:00
Maarten Lankhorst 0383e4e499 winmm: Use unix fd's instead of win32 events to sync internal events in timer. 2007-06-07 17:20:01 +02:00
Alexandre Julliard 90d94efe10 winmm: Fix computation of sleep time until next timeout. 2007-06-07 16:22:48 +02:00
Dmitry Timoshkov 29b00e1a8c midimap: Fix compilation warnings in 64-bit mode. 2007-06-01 12:40:04 +02:00
Andrew Talbot 5f8d15027e winmm: Exclude unused headers. 2007-05-29 11:53:57 +02:00
Dmitry Timoshkov 3c9e7a7f33 wine: Switch to using 'long' for INT_PTR type for 64-bit compatibility. 2007-05-25 20:37:56 +02:00
Maarten Lankhorst e2a1bc9804 winmm: Use criticalsection for determining wether timer is synchronously killable. 2007-05-07 15:36:42 +02:00
Maarten Lankhorst 0c6a63a062 winmm: Pass the right message to hwnd from mixer callback. 2007-04-23 13:55:06 +02:00
Maarten Lankhorst 35a8ee9340 winmm: Implement CALLBACK_WINDOW. 2007-04-16 12:12:46 +02:00
Andrew Talbot 3c78748cc1 winmm: Replace inline static with static inline. 2007-03-26 12:20:10 +02:00
Jan Zerebecki ca350ad2b1 winmm: Add DebugInfo to critical sections. 2007-03-12 13:40:57 +01:00
Andrew Talbot bb9dea6b29 winmm: Replace const pointer parameters with correct pointers to const. 2007-03-07 21:56:54 +01:00
Vitaly Lipatov c8bcbdb90d Some fixes in russian resources. 2007-02-09 11:48:28 +01:00
Andrew Talbot 77250f3ce8 winmm: Declare a function static. 2007-02-05 12:33:01 +01:00
Francois Gouget aab5e5856e Don't put single quotes around '%s' when using the debugstr_*() functions. 2007-01-18 12:55:50 +01:00
Francois Gouget 6834945ece winmm/tests: Use '%u' to print GetLastError(). 2007-01-18 12:55:32 +01:00
Francois Gouget 9279edfb03 winmm/tests: Replace some '#if 0's with 'if (0)'s.
Fix the code so it compiles without warnings.
2007-01-12 11:24:33 +01:00
Alexandre Julliard dc3961bc78 wineoss: Renamed the dlls/winmm/wineoss directory to dlls/wineoss.drv. 2007-01-10 13:46:14 +01:00
Alexandre Julliard ae0380d97f winenas: Renamed the dlls/winmm/winenas directory to dlls/winenas.drv. 2007-01-10 13:45:39 +01:00
Alexandre Julliard 7fc151d612 winejack: Renamed the dlls/winmm/winejack directory to dlls/winejack.drv. 2007-01-10 13:45:03 +01:00
Alexandre Julliard 851e6d7c4f wineesd: Renamed the dlls/winmm/wineesd directory to dlls/wineesd.drv. 2007-01-10 13:44:20 +01:00
Alexandre Julliard 9402089ea9 winecoreaudio: Renamed the dlls/winmm/winecoreaudio directory to dlls/winecoreaudio.drv. 2007-01-10 13:43:27 +01:00
Alexandre Julliard f972d66263 wineaudioio: Renamed the dlls/winmm/wineaudioio directory to dlls/wineaudioio.drv. 2007-01-10 13:42:34 +01:00
Alexandre Julliard 5f0241fd91 winearts: Renamed the dlls/winmm/winearts directory to dlls/winearts.drv. 2007-01-10 13:41:40 +01:00
Alexandre Julliard 01905338ea winealsa: Renamed the dlls/winmm/winealsa directory to dlls/winealsa.drv. 2007-01-10 13:40:39 +01:00
Kai Blin 6819fa520f winmm: Remove unused variable and if check (Coverity). 2007-01-08 12:35:25 +01:00
Nick Burns 7aab8810e1 winecoreaudio: Fix race condition in drvclose. 2007-01-02 20:29:43 +01:00
Alexandre Julliard f231a70f4c joystick.drv: Renamed the dlls/winmm/joystick directory to dlls/winejoystick.drv. 2006-12-29 14:29:20 +01:00
Ken Thomases 0e52c42aa6 winecoreaudio: Report actual supported input wave formats.
Also, added some output formats that Core Audio ought to be able to handle.
2006-12-29 12:49:43 +01:00
Ken Thomases fa84451647 winecoreaudio: Implement CoreAudio_wiAudioUnitIOProc, the input callback. 2006-12-29 12:49:43 +01:00
Ken Thomases 959ec2aa44 winecoreaudio: Implement widStart. 2006-12-29 12:49:43 +01:00
Ken Thomases c47c82a20b winecoreaudio: Implement widStop. 2006-12-29 12:49:43 +01:00
Ken Thomases 335ab8c1a2 winecoreaudio: Changed widReset to stop the audio unit. 2006-12-29 12:49:43 +01:00
Ken Thomases cff4da8db8 winecoreaudio: Add mechanism for cross-thread call of widHelper_NotifyCompletions.
wodSendNotifyInputCompletionsMessage sends the kWaveInNotifyCompletionsMessage
to the message thread, which calls widHelper_NotifyCompletions.
2006-12-29 12:49:43 +01:00
Ken Thomases 9ef54e4ebe winecoreaudio: Add widHelper_NotifyCompletions.
It scans for completed input wavehdrs, removes them from the queue,
and notifies the application that they're done.
2006-12-29 12:49:42 +01:00
Ken Thomases 19c75a4ec6 winecoreaudio: Store the device ID in the WINE_WAVEOUT structure. 2006-12-29 12:49:42 +01:00
Ken Thomases 127523d7a2 winecoreaudio: Allocate/deallocate audio buffers in widOpen/widClose. 2006-12-29 12:49:42 +01:00
Ken Thomases 4b904bbf13 winecoreaudio: Do additional setup in AudioUnit_CreateInputUnit.
It now returns in an output parameter the frame count that the AU will use.
Also, initialize the Audio Unit.
2006-12-29 12:49:42 +01:00
Ken Thomases 5c489283c9 winecoreaudio: Implement widDevInterfaceSize and widDevInterface. 2006-12-29 12:49:42 +01:00
Ken Thomases 503f9be161 winecoreaudio: Implement widReset. 2006-12-29 12:49:42 +01:00
Ken Thomases 58ea6abe72 winecoreaudio: Implement widAddBuffer. 2006-12-29 12:49:42 +01:00
Ken Thomases 5432adaaac winecoreaudio: Implement widOpen and widClose. 2006-12-29 12:49:42 +01:00
Ken Thomases 30a1b29351 winecoreaudio: Add AudioUnit_CreateInputUnit to create an input audio unit. 2006-12-29 12:49:42 +01:00
Ken Thomases 8ba3daaf5c winecoreaudio: Add stub implementation of CoreAudio_wiAudioUnitIOProc.
It will serve as the input callback called when our Audio Unit has sound
data available.
2006-12-29 12:49:41 +01:00
Ken Thomases 5319b64b39 winecoreaudio: Initial implementation of widGetDevCaps. 2006-12-29 12:49:41 +01:00
Ken Thomases eccfe6e8a3 winecoreaudio: Initial stub implementation of audio input support. 2006-12-29 12:49:41 +01:00
Ken Thomases 5cbc520318 winecoreaudio: Replace pthread mutex with OSSpinLock. 2006-12-21 12:08:37 +01:00
Ken Thomases 234558c2c7 winecoreaudio: Move a memset out of a mutex-guarded section. 2006-12-21 12:01:12 +01:00
Ken Thomases acf3499916 winecoreaudio: Merge wodReset and wodHelper_Reset. 2006-12-21 12:01:02 +01:00
Ken Thomases 3ade58b0b9 winecoreaudio: Change to faster non-recursive mutex. 2006-12-21 12:00:49 +01:00
Ken Thomases d5975872af winecoreaudio: Push notify of completions from render callback to message thread.
Rather than have the Audio Unit render callback traverse the queue of wave
headers looking for complete ones, and sending a message to the message thread
for each one it finds, just send one message to tell the message thread to do
that work itself.  The render callback is called in a real-time priority
thread and is expected to return as quickly as possible.
2006-12-21 12:00:36 +01:00
Ken Thomases e24533cb6d winecoreaudio: Remove more mutexes from around Audio Unit calls. 2006-12-21 12:00:20 +01:00
Ken Thomases 0bb13dd31c winecoreaudio: Report when the render callback is just providing silence. 2006-12-21 12:00:09 +01:00
Ken Thomases 82fff94c33 winecoreaudio: Lift mutex lock/unlock out of wodHelper_PlayPtrNext to caller. 2006-12-21 11:59:53 +01:00
Ken Thomases bdbe803cb6 winecoreaudio: Leave audio unit running, except when waveout device paused. 2006-12-21 11:45:36 +01:00
Ken Thomases aef21c19c1 winecoreaudio: Eliminate unnecessary variable, unreachable code, unused retval. 2006-12-21 11:45:11 +01:00
Ken Thomases 7cecf7a40a winecoreaudio: Inline & eliminate the specializations of wodHelper_BeginWaveHdr. 2006-12-21 11:44:42 +01:00
Ken Thomases be4a17876d winecoreaudio: Specialize wodHelper_BeginWaveHdr for its two callers and simplify.
wodHelper_PlayPtrNext is only called when state == WINE_WS_PLAYING.  Also, it
clears dwPartialOffset itself.

wodWrite only calls wodHelper_BeginWaveHdr[Write] with a non-NULL lpWaveHdr
parameter.  wodWrite is not called from the Audio Unit render callback, so it
can use Wine debug channels.
2006-12-21 11:43:21 +01:00
Ken Thomases 551f7d94a3 winecoreaudio: Simplify handling of BEGIN+ENDLOOP wave headers. 2006-12-21 11:42:48 +01:00
Ken Thomases 91c5ec9616 winecoreaudio: Extract wodHelper_CheckForLoopBegin() from wodHelper_BeginWaveHdr().
This refactoring prepares the ground for subsequent refactoring of
wodHelper_BeginWaveHdr.
2006-12-21 11:42:28 +01:00
Ken Thomases a6da8f212d winecoreaudio: Create port for sending messages to the callback thread only once. 2006-12-21 11:42:12 +01:00
Ken Thomases 23bb112b10 winecoreaudio: Control the fprintf's by the Wine debug channel on/off settings. 2006-12-21 11:42:05 +01:00
Dmitry Timoshkov 0b988c73c9 winearts: Make some data const. 2006-12-14 20:11:17 +01:00
Dmitry Timoshkov b05173486a wineoss: Make some data const. 2006-12-14 20:10:58 +01:00
Marcus Meissner 4d52a421d7 Made some functions static. 2006-12-12 12:10:57 +01:00
Francois Gouget 89f4b5645f winmm: Add a Portuguese translation (contributed by Americo Jose Melo). 2006-11-28 12:13:24 +01:00
Andrew Talbot 89bb54601f winmm/wineoss: Cast-qual warning fix. 2006-11-24 12:56:31 +01:00
Francois Gouget b5f104d05b Replace SUBLANG_DEFAULT with the specific SUBLANG_XXX constant for languages that have multiple sublanguages. 2006-11-24 11:49:32 +01:00
Andrew Talbot 529aa7de90 winmm: Cast-qual warnings fix. 2006-11-24 11:47:44 +01:00
Andrew Talbot a8f02b8bb7 winmm: Cast-qual warnings fix. 2006-11-24 11:47:39 +01:00
Alexandre Julliard 0beeffa935 winmm: Avoid using sizeof() in traces. 2006-11-20 11:50:14 +01:00
Francois Gouget 1ccf944900 Assorted spelling fixes. 2006-11-13 13:01:53 +01:00
Michael Stefaniuc 8f0f9371a8 winmm/tests: Win64 printf format warning fixes. 2006-11-13 12:49:27 +01:00
Michael Stefaniuc 60c19952b7 winmm/tests: Fix the parameters of LPTIMECALLBACK functions. 2006-11-13 12:49:14 +01:00
Eric Pouech d1737cc24b winmm: Plug a memory leak. 2006-11-09 12:24:54 +01:00
Eric Pouech 2f540b8602 winmm: Remove WINE_NO_LONG_AS_INT. 2006-11-09 11:44:30 +01:00
Francois Gouget 30e44c85c8 Assorted spelling fixes. 2006-11-07 15:25:24 +01:00
Mikołaj Zalewski 58bd35c8c5 resources: Change Dutch sublanguage code to SUBLANG_NEUTRAL. 2006-10-24 17:45:51 +02:00
Mikołaj Zalewski e32aa55703 resources: Change German sublanguage code to SUBLANG_NEUTRAL. 2006-10-24 11:45:12 +02:00
Marcus Meissner d1b2282a9b wineoss: On non-OSS systems define MidiExit too. 2006-10-24 11:31:21 +02:00
Byeong-Sik Jeon e1fd734c97 Korean: Use SUBLANG_NEUTRAL in Korean resources. 2006-10-20 13:49:39 +02:00
Alexandre Julliard 18aafc27d0 wineaudioio.drv: Win64 printf format fixes. 2006-10-20 12:59:02 +02:00
Alexandre Julliard 6f4d2f8dc4 winecoreaudio.drv: Win64 printf format fixes. 2006-10-20 12:36:38 +02:00
Francois Gouget ef998ea6cb Assorted spelling fixes. 2006-10-16 11:33:38 +02:00
Michael Stefaniuc 173f7bd26c janitorial: Remove remaining NULL checks before free() (found by Smatch). 2006-10-10 12:56:24 +02:00
Michael Stefaniuc 10ee330a19 winmm/wineoss: Win64 printf format warning fixes. 2006-10-07 17:47:26 +02:00
Michael Stefaniuc a0f541399a winmm/winealsa: Win64 printf format warning fixes. 2006-10-07 17:47:13 +02:00
Michael Stefaniuc fe0af93cb6 winmm/winearts: Win64 printf format warning fixes. 2006-10-07 17:47:06 +02:00
Michael Stefaniuc 6f6e054ffb winmm/winenas: Win64 printf format warning fixes. 2006-10-07 17:47:01 +02:00
Michael Stefaniuc c8ef239057 winmm/wineesd: Win64 printf format warning fixes. 2006-10-07 17:46:58 +02:00
Michael Stefaniuc 3baeb485a0 winmm/winejack: Win64 printf format warning fixes. 2006-10-07 17:46:52 +02:00
Francois Gouget 82babbee0b Add missing '\n's to Wine traces. 2006-10-05 17:46:48 +02:00
Michael Stefaniuc 41dd56cb7f "One liners" printf format warning fixes for the migration of DWORD/LONG/ULONG from long to int. 2006-09-29 16:09:24 +02:00
Michael Stefaniuc 85ce5117c5 Add a WINE_NO_LONG_INT define to many makefiles to ease the transition of DWORD/LONG/ULONG from long to int. 2006-09-29 16:08:30 +02:00
Hwang YunSong(황윤성) 2b4a76001f winmm: Updated Korean resource. 2006-09-28 11:56:37 +02:00
Mikołaj Zalewski 636f2ac0f3 winmm: Use English (US) instead of English (Neutral) for resources. 2006-09-27 09:40:11 +02:00
Alexandre Julliard 32ab895e46 makefiles: Generate the dependencies line to avoid some code duplication. 2006-09-14 09:38:16 +02:00
Jan Zerebecki 1ee1d819f9 wineoss: Remove "please report" from a trace. 2006-09-07 16:11:11 +02:00
Jan Zerebecki 6698e9e0b0 winmm: Prevent NULL dereference in MCI_Close and add testcase for it. 2006-09-07 16:10:48 +02:00
Alexandre Julliard 5cf75e615a makefiles: Only run test and documentation targets in directories that need them. 2006-08-28 13:37:44 +02:00
Alexandre Julliard eb8a40c368 libs: Merged libwine_unicode into libwine.
Most dlls use libwine_unicode at this point, so there's nothing to
gain by having two separate libraries.
2006-07-11 19:33:22 +02:00
Alexandre Julliard 77dc0d9be5 .gitignore: Added wildcards to ignore generated resource files. 2006-07-10 21:39:00 +02:00
Alexandre Julliard 0fa8baafcb make_dlls: Recursively ignore .ok files in all tests directories. 2006-07-10 21:26:50 +02:00
Alexandre Julliard edd100b899 make_dlls: Recursively ignore testlist.c in all tests directories. 2006-07-10 21:19:42 +02:00
Alexandre Julliard 5258e061dc make_dlls: Ignore generated import libraries from the top-level .gitignore. 2006-07-10 20:55:58 +02:00
Alexandre Julliard cc2b3b48e6 Take advantage of the recursive nature of .gitignore for Makefile entries.
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +02:00
Michael Stefaniuc 00e779370f janitorial: Put "inline static" at the beginning of a declaration. 2006-07-07 14:30:35 +02:00
Andrew Talbot 343597b336 winmm/winealsa: Write-strings warning fix. 2006-07-03 11:59:02 +02:00
Eric Pouech 6f03b0c021 mci: Fix some mciSendString quirks.
Really check in MCI open string commands if the name we have is a
device (and no longer rely on bad heuristics for it).
2006-06-26 13:38:03 +02:00
Francois Gouget 21668ad76a winecoreaudio: Protect pthread.h inclusion. 2006-06-26 13:05:00 +02:00
Peter Åstrand 2585e1a6fd winmm: Add support for "open new" commands. 2006-06-15 12:25:50 +02:00
Alexandre Julliard 82a404a077 winmm/tests: Don't use sizeof in ok() to avoid printf format warnings. 2006-06-13 14:04:07 +02:00
Mike McCormack 25f521f1b2 winmm: Undefine SW_MAX defined by linux/input.h to avoid a conflict with winuser.h. 2006-06-13 12:56:38 +02:00
Alexandre Julliard ea50196447 winecoreaudio: Fixed the FSF address. 2006-06-01 13:15:54 +02:00
Ken Thomases 1612ce8659 winecoreaudio: Don't CFAllocate buffer for port message. 2006-06-01 13:09:44 +02:00
Ken Thomases fb5a073e46 winecoreaudio: Use unique name for message port.
Use a unique port name for the message port to the message thread.
Port names are system-global, so using a non-unique constant name
prevents the CoreAudio driver from being used in multiple processes
simultaneously.
2006-06-01 13:08:21 +02:00
Ken Thomases a1e6989a9b winecoreaudio: 8-bit Linear PCM data is unsigned. 2006-06-01 13:05:59 +02:00
Ken Thomases 178f9fecd9 winecoreaudio: Keep processing wavehdrs to satisfy AudioUnit data request.
When fulfilling the output AudioUnit's request for audio data, don't
stop when the current wavehdr is exhausted; advance to the next.  This
addresses the buzzy quality of the sound.
2006-06-01 13:03:22 +02:00
Ken Thomases 6a6aec72d3 winecoreaudio: Improve state tracking.
Improved tracking of device state (stopped, playing, or paused).
Also, tied starting and stopping the AudioUnit more directly to the
state.  No need to change the state when preparing or unpreparing
wavehdrs.  Pausing overrides both playing and stopped states; if
stopped, pausing prevents output from starting when the program
writes.  When, restarting from the paused state, the device starts
playing if there are queued wavehdrs.  Otherwise, it goes to stopped
state.
2006-06-01 12:59:50 +02:00
Ken Thomases fb9f878849 winecoreaudio: Miscellaneous cleanup.
Miscellaneous cleanup: release resources when done with them; protect
against null pointers; reduce redundant code; avoid potential integer
underflow; clarify a do-nothing loop.
2006-06-01 12:59:38 +02:00
Ken Thomases 00e9996339 winecoreaudio: Fix race to open.
Fixes a race condition (noted in a comment for wodOpen) when multiple
threads try to open the same wave-out device simultaneously.
Addressed by creating the device mutexes when the driver is
initialized, instead of as each device is opened.  Then use the mutex
to protect the open operation against races.  At the same time, made
the mutexes recursive to avoid self-deadlocks the driver was
encountering when reentered from the callback.
2006-06-01 12:50:46 +02:00
Alexandre Julliard 11fe657466 winecoreaudio: Fixed a bunch of compiler warnings. 2006-05-31 14:52:58 +02:00
Robert Reif 2b3247a424 winmm: Always check for open and close enents in wave test.
Always check for open and close events.
Send WM_APP message to thread to terminate it rather than TerminateThread.
Fix CreateThread/waveOutOpen race by waiting for background thread to
run before waveOutOpen is called.
Add more non-hardware supported formats.  There is a bug in wave
mapper GetPosition when multiple headers are used and this helps
trigger it.
2006-05-31 11:45:22 +02:00