Commit Graph

926 Commits

Author SHA1 Message Date
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
Alexandre Julliard
9ca8a86914 Link against libwine_unicode everywhere we use Unicode functions. 2006-05-24 18:05:40 +02:00
Jonathan Ernst
360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Robert Reif
ed62b0150c winmm: Fix wave test handle use after close bug. 2006-05-20 14:00:22 +02:00
Robert Reif
d1b838e948 winmm: Fix wave test volume warning.
Volume is only valid when sound card has volume support.
2006-05-11 12:10:45 +02:00
Michael Stefaniuc
a87520036f janitorial: Remove redundant NULL pointer checks before HeapFree'ing them.
Some HeapFree's are hidden behind macros. Found by smatch.
2006-05-10 11:31:41 +02:00
Robert Reif
9ff27bf6bc winmm: Print out more info on failed test.
Print out more info on failed test.  Looks like there is a bug in ALSA
OSS emulation where it is returning a mid-sample position.
2006-05-09 20:44:56 +02:00
Robert Reif
a9bd81be63 winmm: Check waveOutGetVolume parameter. 2006-05-09 11:54:55 +02:00
Alexandre Julliard
922b2749cc msacm32.drv: Renamed msacm.drv to msacm32.drv, and moved the directory to the top-level. 2006-05-09 11:36:45 +02:00
Alexandre Julliard
252398d286 mciwave: Renamed mciwave.drv to mciwave.dll, and moved the directory to the top-level. 2006-05-09 11:32:21 +02:00
Robert Reif
b4a5df1c19 wineoss: Missing mixer fixes.
Don't list volume in capabilities when mixer is missing.
2006-05-08 14:49:48 +02:00
Robert Reif
319633963d winmm: More wave callback tests.
Add tests for CALLBACK_FUNCTION and CALLBACK_THREAD.  The only
callback type not tested now is CALLBACK_WINDOW.
2006-05-08 14:49:11 +02:00
Mike Frysinger
dd174c54e1 joystick: Search for /dev/input/js as well as /dev/js. 2006-04-19 19:27:41 +02:00
Robert Reif
269236c1c8 winearts: Don't call arts_free if arts_init wasn't successful. 2006-04-06 11:33:11 +02:00
Jan Zerebecki
6b37d3d57d winealsa: Fix pausing when the hardware does not support it. 2006-04-03 12:23:31 +02:00
Robert Reif
2d15c8fb75 wineesd: Use pipe sync for events.
Ues pipe sync code from OSS/ALSA rather than windows events.
2006-03-14 17:49:59 +01:00
Robert Reif
2eca872675 wineesd: Update ESD driver to closer match OSS and ALSA drivers. 2006-03-10 21:41:21 +01:00
Francois Gouget
4aa6418d51 Assorted spelling fixes. 2006-02-24 21:10:03 +01:00
Dmitry Timoshkov
f29d4af34b winmm: Protect drivers list by a critical section. 2006-02-14 12:22:57 +01:00
Petr Tesarik
63a46cb374 winmm: Czech language resources encoding fix. 2006-02-13 13:28:42 +01:00
Alexandre Julliard
be22a96847 Include wine/port.h in files that use exceptions. 2006-02-07 16:31:21 +01:00
Fatih Aşıcı
bde9004f19 winmm: Turkish translation. 2006-02-06 13:06:58 +01:00
Eric Pouech
aef4a77d46 wineoss: Proper support in OSS driver for audio when no mixer is present.
Fixed a couple of potential fd leaks.
2006-01-27 12:10:25 +01:00
Dmitry Timoshkov
57a579ffcd Make more arrays const. 2006-01-24 14:00:32 +01:00
Robert Reif
2ba20dd78b winearts: Try to keep winecfg from crashing by recovering from an arts
library crash.
2006-01-23 16:48:45 +01:00
Robert Reif
273470e8ba winealsa: Add critical section names for debugging. 2006-01-18 14:03:23 +01:00
Alex Villacís Lasso
6d88d5ad5c winealsa: Ensure that copy_format() will not write past end of
referenced WAVEFORMATPCMEX structure.
2006-01-11 12:33:05 +01:00
Robert Reif
8accfc1def wineoss: Shorten MIDI names.
Shorten MIDI names to fit into 32 byte array without overflow.
2005-12-17 12:25:19 +01:00
Alexandre Julliard
ae964ac801 Take advantage of the __EXCEPT_PAGE_FAULT macro. 2005-12-16 17:17:57 +01:00
Robert Reif
c7a59d117a wineoss: Fix device probing.
- Fix device probing at driver load time.
- Fix memory leaks at driver exit time.
2005-12-08 12:00:33 +01:00
Eric Pouech
fa1d997ddc winealsa: Fixed returned string in capabilities. 2005-12-08 11:58:48 +01:00
Eric Pouech
65a1796bc7 winenas: fix crash.
- return correct MM error code when no connection to server has been
  opened
- don't close the AU driver if it hasn't been opened
2005-12-08 11:58:35 +01:00
Robert Reif
18441ac027 winejack: Fix driver load and initialization.
Move wave in/out initialization from wave out to driver.
Add index number to device names.
Fix memset bug where only first wave in caps was zeroed.
2005-12-06 21:22:08 +01:00
Eric Pouech
9cba6ceacd mciwave: save/record.
- fix for playback after a sound has been recorded
- shall fix also opening the mci device without name
- bug reported (and fix tested) by Peter Astrand
2005-12-06 21:21:48 +01:00
Robert Reif
3020d1a4ca winmm: Allow sound card driver to be opened more than once.
TRACE cleanups.
2005-12-06 10:58:38 +01:00
Robert Reif
ce4fdfdbcd winmm: Allow sound card drivers to be opened more than once. 2005-12-06 10:58:25 +01:00
Eric Pouech
60884fc3b3 winmm: driver unloading.
- properly handle drivers unloading when no session instance of the
  driver has been created
2005-12-05 12:01:26 +01:00
Eric Pouech
f01baaa9ab Fixed some bugs in MCI string parsing. 2005-11-29 11:24:55 +01:00