Commit Graph

1026 Commits

Author SHA1 Message Date
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