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