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
Andrew Talbot
9480d3e50a
winmm/joystick: joystick.c requires Unicode library.
2006-05-31 11:42:40 +02:00
Emmanuel Maillard
144a5353ef
winecoreaudio: Initial Audio Driver for Mac OS X.
2006-05-30 19:34:20 +02:00
Robert Reif
fe2becaee3
winmm: Add multiple header wave tests.
...
The current wave tests only use a single header for playback. Tests
have been added to use multiple headers and to reuse them. This is
how streaming applications and direct sound use the wave api.
2006-05-30 12:22:58 +02:00