Commit Graph

256 Commits

Author SHA1 Message Date
Jeff Cook 343f85ea66 winealsa.drv: If we can't open a device as stereo, try mono. This is necessary for snd-usb-audio mics. 2010-08-03 11:46:47 +02:00
Jeff Cook 6120d7cc14 winealsa.drv: Init mixer on cards with a single Mic control, like snd_usb_audio mics. 2010-08-03 11:46:42 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02:00
Jörg Höhle 3d94ea8215 winealsa: Only linear PCM is supported. 2010-06-23 16:56:00 +02:00
Henri Verbeet 555e21307e winealsa.drv: Add some missing newlines. 2010-06-16 12:48:51 +02:00
Andrew Nguyen 13a7708abb winealsa.drv: Replicate the snd_pcm_recover alsa-lib implementation to cope with older alsa-lib versions. 2010-06-11 11:38:59 +02:00
Jörg Höhle 8fa84df772 winealsa: MOD_MIDIPORT has 0 voices and notes and FFFF ChannelMask. 2010-05-18 18:42:09 +02:00
Jörg Höhle 3af7e99ba0 winealsa: Supply FFFFFFFF for midiOutGetVolume, no garbage. 2010-05-18 18:42:09 +02:00
Maarten Lankhorst 755c25d84e winealsa.drv: Clean up initialisation. 2010-05-03 17:34:01 +02:00
Maarten Lankhorst 3beb1b6a11 winealsa.drv: Remove dlopen call. 2010-05-03 17:33:41 +02:00
Maarten Lankhorst ba7d2cd3ee winealsa.drv: Clean up DriverProc. 2010-04-21 16:12:33 +02:00
Maarten Lankhorst 8f6d268ee4 winealsa.drv: Ignore unused bytes in wave headers. 2010-04-12 11:28:25 +02:00
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
Jörg Höhle 64b6287e83 winmm: Accept the ancient, smaller MIDIHDR. 2010-02-22 13:18:26 +01:00
Jörg Höhle bdea146639 winealsa: Do not access WAVEHDR past DriverCallback. 2010-02-22 13:16:32 +01:00
Jörg Höhle 3825abbbb7 winealsa: Ignore failure to notify MIDI clients. 2010-02-03 15:49:41 +01:00
Jörg Höhle a758c6a981 winmm: The 64KB buffer limit on MIDIHDR buffers applies to streams only. 2010-02-03 15:49:09 +01:00
Paul Vriens 46abd44f0e winealsa.drv: Don't check input parameter twice (Coccinelle). 2010-01-14 09:11:16 -06:00
Maarten Lankhorst 15adb260b2 winealsa.drv: Remove wrong calls.
snd_pcm_prepare is called below, and snd_pcm_sw_params is called before
sw_params is initialized.
2009-12-01 11:45:30 +01:00
Henri Verbeet 7151cdc8a2 winealsa.drv: Use wine_dbg_sprintf() in a few debug utility functions. 2009-11-30 12:49:41 +01:00
Maarten Lankhorst 3a9ea794e1 winealsa.drv: Fix underrun recovery. 2009-11-09 19:42:54 +01:00
Maarten Lankhorst d7a9e2d275 winealsa.drv: Remove call to snd_pcm_drain.
snd_pcm_drain can cause a deadlock if in the wrong state, and 
snd_pcm_drop below does the same thing.
2009-10-14 11:24:35 +02:00
Maarten Lankhorst ce5ae1ae51 winealsa.drv: Fix dsoutput to work better with pulseaudio.
Better underrun handling and checking return values now.
2009-10-05 13:46:01 +02:00
Maarten Lankhorst 059017f914 winealsa.drv: Remove test for mmap in waveinit.
No longer needed since winealsa has fallbacks now for both.
2009-10-05 13:46:01 +02:00
Maarten Lankhorst e2faa98c66 winealsa.drv: Add non-mmap support to dscapture. 2009-10-05 13:46:01 +02:00
Maarten Lankhorst b0e45368d7 winealsa.drv: Small capture fixes.
Deadlock, off-by-one and forgetting to declare that we want MMAP
access, so accelerated mode wouldn't work at all but fail silently.
2009-10-05 13:46:01 +02:00
Erich Hoover 336b0ef18f winealsa.drv: Fix DSOUND_BufPtrDiff in Kane's Wrath with new audio pathway. 2009-09-16 15:45:45 -05:00
Francois Gouget e74efb5487 Assorted spelling fixes. 2009-08-11 12:35:38 +02:00
Maarten Lankhorst 9d649202bb Revert "winealsa.drv: Re-allow fallback to waveout (regression in dsound).".
This reverts commit 0addd3ba5a.
It doesn't fix anything, it just hides the bug.
2009-08-03 17:24:48 +02:00
Erich Hoover 0addd3ba5a winealsa.drv: Re-allow fallback to waveout (regression in dsound). 2009-07-20 12:20:15 +02:00
Maarten Lankhorst f27d88e16f winealsa.drv: Add support for indirect read/write in directsound support.
Allows pulseaudio to use the idsdriver interface, making it almost as 
fast as using native pulseaudio calls for as far as directsound is 
concerned. Prevents the creation of separate winmm feeder threads.
2009-07-13 10:48:06 +02:00
Alexandre Julliard 56af92b073 makefiles: Regenerate the source lists using make_makefiles. 2009-07-03 13:26:38 +02:00
Francois Gouget 5ef481922f Assorted spelling fixes. 2009-04-20 15:25:26 +02:00
Francois Gouget e71cfdc1de winealsa.drv: Remove a few unneeded initialisations and unused variables. 2009-03-30 14:22:14 +02:00
Francois Gouget a8187db2fb winealsa.drv: ALSA_PeekRingMessage() is not used anymore so remove it. 2009-02-09 13:14:34 +01:00
Andrew Talbot 2705a96add winealsa.drv: Declare a function static. 2009-01-26 16:05:42 +01:00
Michael Stefaniuc aea94788e4 winealsa.drv: Remove superfluous pointer casts. 2009-01-23 13:14:09 +01:00
Alexandre Julliard ec1b28edb0 include: Fix a number of mmsystem.h structure for Win64. 2009-01-09 18:08:29 +01:00
Francois Gouget 2166afceb7 Assorted spelling fixes. 2008-12-29 11:36:49 +01:00
Andrew Talbot a3a2506d52 winealsa.drv: Do nothing if HAVE_ALSA is not defined. 2008-12-22 10:28:55 +01:00
Christian Costa 96291a4b0d winealsa.drv: Handle midi sysex greater than a buffer. 2008-12-20 12:13:21 +01:00
Francois Gouget f36172ff14 winealsa.drv: Fix the m[io]dMessage() documentation. 2008-12-19 17:45:32 +01:00
Christian Costa c983cd6423 winealsa.drv: Initialize correctly the header before adding it to the queue. 2008-12-19 17:36:35 +01:00
Francois Gouget c73631280b winealsa: Fix a couple of types and avoid unneeded casts. 2008-12-08 12:05:32 +01:00
Alexandre Julliard 78ddd00800 winealsa.drv: Fix a printf format warning. 2008-12-04 14:32:59 +01:00
Maarten Lankhorst 2614269d93 winealsa.drv: Fix 64-bits incompatibilities. 2008-12-02 15:41:47 +01:00
Maarten Lankhorst 1d9637f5cd winealsa.drv: Get rid of sizeof in traces. 2008-12-02 15:41:03 +01:00
Reece Dunn 7926eba0d5 winealsa.drv: Correct the period_time value for pulseaudio. 2008-12-01 14:05:57 +01:00
Reece Dunn ef0069cbf5 winealsa: Calculate the delay correctly as snd_pcm_delay is not reliable in this context. 2008-11-24 14:36:01 +01:00
Aric Stewart 2cc258f6c9 winealsa: Don't dereference a potentially NULL value in the WARN statement (Coverity 93). 2008-10-06 14:18:32 +02:00
Maarten Lankhorst 717df5b297 winealsa.drv: Don't hang on last few bytes not played.
Fixes winmm:wave test hanging.
2008-10-06 13:08:50 +02:00
Erik Inge Bolsø 6fc8497519 winealsa.drv: fix typo in IDsCaptureDriverImpl_Open. 2008-09-09 11:00:56 +02:00
Maarten Lankhorst 6e90756307 winealsa.drv/dsound: Handle underruns better. 2008-09-04 14:09:00 +02:00
Rob Shearman a7e1753d7b winealsa.drv: Use CP_UNIXCP instead of CP_ACP for strings obtained from native OS functions. 2008-08-27 13:21:21 +02:00
Maarten Lankhorst 944cb7ea15 winealsa.drv: Tune some parameters to make pulseaudio work.
Kudos to pulseaudio for actually respecting buffer_time and period_time.
2008-08-22 10:41:13 +02:00
Detlef Riekenberg 2dedf4c097 winealsa.drv: Fix a typo in an error message. 2008-08-20 11:45:00 +02:00
Maarten Lankhorst 3995627de2 winealsa.drv: Fix compiler warnings and remove deprecated calls.
Fixes wine build on lsb compliant systems and some warnings.
2008-08-19 13:30:48 +02:00
Christian Costa 9a82c8071d winealsa.drv: Improve midi port names. 2008-08-19 12:16:00 +02:00
Maarten Lankhorst 2cd620802a winealsa.drv: Add ability to recover from underruns to directsound driver.
Fixes handling of buffer underruns that might still occur.
2008-08-18 14:34:10 +02:00
Alexandre Julliard fdb682811d winealsa: Fix some unsigned comparison < 0 warnings. 2008-07-11 15:29:41 +02:00
Alexandre Julliard 123f8d0f2c winealsa.drv: Don't trace deprecated parameters. 2008-07-07 14:53:49 +02:00
Zac Brown 7bd0c43f03 winealsa.drv: Initialize a variable in MIX_close. 2008-06-26 21:07:11 +02:00
Alexandre Julliard 1ecf0c96fa Revert "winealsa: Remove calls to deprecated functions."
This reverts commit c8bdebde3d.
To be revisited after 1.0.
2008-05-12 19:40:47 +02:00
Maarten Lankhorst c8bdebde3d winealsa: Remove calls to deprecated functions. 2008-05-09 11:18:11 +02:00
Alexandre Julliard dad21bbcbf makefiles: List the static libraries as normal imports instead of extra libs. 2008-04-30 14:23:55 +02:00
Austin English 6e59cd2c34 Spelling fixes. 2008-04-22 12:20:12 +02:00
Andrew Talbot 687af6b2bc winealsa.drv: Assign to structs instead of using memcpy. 2008-03-25 11:45:01 +01:00
Karsten Elfenbein 0fe3a59b46 winealsa: Use "default" as the default card name instead of "default:0". 2008-03-04 13:03:20 +01:00
Francois Gouget d0794c4aeb Assorted spelling fixes. 2008-01-23 21:16:22 +01:00
Francois Gouget 44b52b128c Assorted spelling fixes. 2008-01-16 12:48:29 +01:00
Dan Kegel 3c070b22ef winealsa.drv: Don't return garbage if can't find active channel. 2008-01-14 13:11:25 +01:00
Maarten Lankhorst 7034b92d90 winealsa: Add special case for microphone source in mixer.
Some microphones don't have a capture control, but a playback control
instead. So use the playback volume, but still register it as capture
volume.
2007-12-24 21:04:57 +01:00
Maarten Lankhorst 483e3be2e6 winealsa: Add 'Front Mic' as alias for microphone. 2007-12-14 12:26:41 +01:00
Maarten Lankhorst affd447db0 winealsa: Don't require a cswitch control for capture. 2007-12-13 14:30:40 +01:00
Maarten Lankhorst f75600dd1d winealsa: Add control 'Digital' as alias for microphone. 2007-12-13 14:30:40 +01:00
Maarten Lankhorst 6e87f3741b winealsa: Remove fixed fixme. 2007-12-13 14:30:40 +01:00
Francois Gouget f6bdd7dc6c winealsa.drv: Remove trailing spaces in Wine traces. 2007-12-10 12:05:50 +01:00
Maarten Lankhorst 322cd0b979 winealsa: Clear dwBytesRecorded in waveheader when adding buffer. 2007-12-07 19:25:29 +01:00
Maarten Lankhorst 5290f53193 winealsa: Simplify the feeding of capture buffers. 2007-12-07 19:25:25 +01:00
Maarten Lankhorst 9fb2cacd64 winealsa: Fix return value checking in wavein. 2007-12-07 19:25:23 +01:00
Maarten Lankhorst 02e1ce0a42 winealsa: Fix period size in capture. 2007-12-07 19:25:20 +01:00
Alexandre Julliard ad9396302d Removed some unneeded imports. 2007-12-06 21:24:24 +01:00
Andrew Riedi 0e568af828 winealsa.drv: Fix a comment. 2007-12-03 13:18:44 +01:00
Marcus Meissner 1c7c9de498 winalsa.drv: Explicitly include assert.h. 2007-10-31 12:39:54 +01:00
Alexandre Julliard 9fce052c54 winealsa.drv: Avoid the alsa alloca macros that cause compiler warnings. 2007-10-29 12:07:52 +01:00
Michael Stefaniuc ca71287572 winealsa.drv: Leave the CriticalSection before destroying it. Found by Smatch. 2007-10-23 18:04:27 +02:00
Michael Stefaniuc ad99cb46c6 winealsa.drv: Leave the CriticalSection before destroying it. Found by Smatch. 2007-10-23 18:04:22 +02:00
Maarten Lankhorst 1ae9a9d659 winealsa: Don't use default:XX to open up a hardware control. 2007-10-19 12:26:34 +02:00
Maarten Lankhorst 61862f9f2d winealsa: Use S24_3LE instead of S24_LE.
S24_LE is aligned with 4 bytes instead of the expected 3.
2007-10-15 16:55:23 +02:00
Andrew Talbot 3b47a5732a winealsa.drv: Fix a memory leak. 2007-10-10 11:56:56 +02:00
Maarten Lankhorst 894cf6dbaf winealsa: Add a timer check to capture to see if play notifications have been triggered. 2007-09-12 11:33:11 +02:00
Maarten Lankhorst a8da3e7f60 winealsa: Add support for capture notification positions. 2007-09-12 11:33:11 +02:00
Maarten Lankhorst 30dee3a87a winealsa: Add stubs for IDsCaptureDriverNotify. 2007-09-12 11:33:11 +02:00
Maarten Lankhorst 8f6c99791b winealsa: Use nBLockAlign instead of snd_pcm_bytes_to_frames to get buffer size. 2007-09-12 11:33:11 +02:00
Maarten Lankhorst 985df9cdf0 winealsa: Remove forceformat and 2 orphan LeaveCriticalSection. 2007-09-10 15:29:47 +02:00
Maarten Lankhorst 5eabdff6ab winealsa: Use correct capture position in getposition. 2007-09-10 15:29:47 +02:00
Maarten Lankhorst cdc8d97181 winealsa: Make SetFormat work better with new behavior of dsound. 2007-08-27 19:58:28 +02:00
Maarten Lankhorst a083c2419d winealsa: Update sound caps. 2007-08-27 12:01:08 +02:00
Maarten Lankhorst 4a2424d6a3 winealsa: Report card name in volume control fixme. 2007-08-20 22:21:59 +02:00
Maarten Lankhorst 3d32315c9e winealsa: Add support for playing dsound capture buffer. 2007-08-16 11:11:55 +02:00
Maarten Lankhorst ea9b6b074c winealsa: Add support for opening/closing dsound capture buffer. 2007-08-16 11:11:50 +02:00
Maarten Lankhorst 23bc426e14 winealsa: Add IDsCaptureDriverBuffer stub. 2007-08-16 11:11:40 +02:00
Maarten Lankhorst 4205a44131 winealsa: Implement IDsCaptureDriverImpl_Open. 2007-08-16 11:11:28 +02:00
Maarten Lankhorst 50b46daf30 winealsa: Add initial dscapturedriver stub. 2007-08-16 11:11:18 +02:00
Ralf Beck 92ef2814eb winealsa.drv: Correct midi input program change + channel aftertouch. 2007-08-07 12:36:57 +02:00
Maarten Lankhorst 181ae2eba0 winealsa: wavein has LPWAVEINCAPSW not LPWAVEOUTCAPSW. 2007-08-06 12:04:48 +02:00
Maarten Lankhorst 3f59856052 winealsa: Don't commit data on Stop and Play. 2007-08-03 12:28:17 +02:00
Maarten Lankhorst decd2d8156 winealsa: Fix Lock in dsoutput. 2007-08-03 12:28:10 +02:00
Maarten Lankhorst 8e485a15c1 winealsa: Fix GetPosition in dsoutput. 2007-08-03 12:28:03 +02:00
Francois Gouget 5266e57975 Assorted spelling fixes. 2007-07-31 21:37:50 +02:00
Maarten Lankhorst 3d3d4e2c8b winealsa: Implement a light form of locking for dsoutput. 2007-07-31 12:38:59 +02:00
Maarten Lankhorst ecfafa37c7 winealsa: Always commit at least 3 periods in dsoutput. 2007-07-30 13:38:29 +02:00
Maarten Lankhorst 408abf9a76 winealsa: Increase performance of waveout getposition. 2007-07-30 13:38:19 +02:00
Maarten Lankhorst f45128c2a6 winealsa: Increase performance of wavein getposition. 2007-07-30 13:38:16 +02:00
Maarten Lankhorst 3c8c02a393 winealsa: Minor fixes to ds output. 2007-07-27 12:23:31 +02:00
Alexandre Julliard edff53387a winealsa: Make sure we can set volume before reporting WAVECAPS_VOLUME. 2007-07-17 14:12:19 +02:00
Maarten Lankhorst 5d7c63f1e0 winealsa: Silence the buffer warning more often. 2007-07-06 19:28:40 +02:00
Francois Gouget a3317a5c01 Assorted spelling fixes. 2007-07-05 19:56:34 +02:00
Maarten Lankhorst 2b194ac81b winealsa: Silence buffer on allocation. 2007-06-29 12:31:50 +02:00
Maarten Lankhorst f4d5f127dd dsound/winealsa: Remove writelead for alsa directsound. 2007-06-28 12:16:14 +02:00
Maarten Lankhorst bfda5d6fbc winealsa: Optimize GetPosition() more in dsalsa. 2007-06-28 12:16:13 +02:00
Alex Villacís Lasso 647ad64faa winealsa: Reduce writeahead to next multiple of psize greater than 512. 2007-06-26 11:53:10 +02:00
Michael Stefaniuc 399a297b19 winealsa.drv: Fix missing unlock on the error path. Found by Smatch. 2007-06-25 11:43:49 +02:00
Maarten Lankhorst 65b40f7f7f winealsa: Finally get rid of the thread in alsa directsound acceleration. 2007-06-22 12:19:50 +02:00
Vitaly Budovski e0940226cd winealsa: Fix incorrect callback private value. 2007-06-18 12:15:37 +02:00
Maarten Lankhorst c846950e35 winealsa: Detach directsound implementation from waveout implementation. 2007-06-13 12:58:18 +02:00
Christian Costa de559d9ce0 winealsa.drv: Fix compilation with old alsa headers. 2007-06-11 13:50:01 +02:00
Christian Costa 11b53529ee winealsa.drv: Use correct tests for synthesizer/port enumeration order. 2007-06-07 23:09:29 +02:00
Ralf Beck 60cde93337 winealsa.drv: Mark every sysex buffer being added. 2007-06-05 10:57:10 +02:00
Ralf Beck 622bad5d3f winealsa.drv: Add missing offset of pitch bender in midi input. 2007-05-25 20:20:44 +02:00
Ralf Beck e1d7365f3d winealsa.drv: Add midi realtime and midi common messages on midi input. 2007-05-25 20:20:36 +02:00
Andrew Talbot bf76e754e5 winealsa.drv: Exclude unused headers. 2007-05-22 12:02:50 +02:00
Maarten Lankhorst 645f1efbc3 winealsa: Remove dead code. 2007-05-14 14:27:25 +02:00
Maarten Lankhorst 3006b9335c winealsa: Improve sound mixer detection.
The previous mixer code depended on the existence of 1 'Master', and 1
'Capture' control. According to some feedback in wine-devel this is not
always the case, the new code will try the following order for loading:
Destination waveout: Master, Headphone PCM
Destination wavein: Capture
2007-05-03 14:23:09 +02:00
Francois Gouget 5a8fc34033 Assorted spelling fixes. 2007-04-30 12:35:11 +02:00
Maarten Lankhorst b67164d248 winealsa: Unset WAVECAPS_DIRECTSOUND properly for capture. 2007-04-27 13:05:35 +02:00
Michael Stefaniuc 34b0161d02 winealsa: Do not check for non-NULL before HeapFree'ing a variable as the check is redundant. 2007-04-25 12:26:14 +02:00
Michał Wiernowolski a45ffebee4 winealsa: Improved handling of SysEx MIDI messages. 2007-04-25 11:50:01 +02:00
Maarten Lankhorst 02c416a187 winealsa: Implement Get/SetControlDetails in mixer. 2007-04-24 13:48:59 +02:00
Maarten Lankhorst 143f10a4d0 winealsa: Implement GetLineControls in mixer. 2007-04-24 13:44:55 +02:00
Maarten Lankhorst 1843e71ef1 winealsa: Implement mixer controls, and add GetLineInfo. 2007-04-24 13:43:29 +02:00
Maarten Lankhorst f7082bbbc0 winealsa: Implement opening/closing and caps of device. 2007-04-24 13:42:48 +02:00
Maarten Lankhorst f60dcd2dee winealsa: Introduce mixer code. 2007-04-24 13:42:17 +02:00
Maarten Lankhorst 452f728f00 winealsa: Remove disabled code.
SND_PCM_ASYNC was needed to get asynchronous callbacks, but they are
not used any more, so remove the code.
2007-04-23 21:09:03 +02:00
Maarten Lankhorst 761ea7895b winealsa: Clear WAVECAPS_DIRECTSOUND for capture. 2007-04-23 21:08:56 +02:00
Maarten Lankhorst 6093bb2ece winealsa: Drop unplayed frames instead of waiting for them. 2007-04-23 16:18:21 +02:00
Jan Zerebecki ea363dc6a7 winealsa.drv: Conform critical section DebugInfo names. 2007-03-12 13:40:15 +01:00
Maarten Lankhorst e9da4016c1 winealsa: Remove usage of uninitialised variable. 2007-02-26 17:33:52 +01:00
Maarten Lankhorst cda92aeba9 winealsa: Fix typo. 2007-02-22 11:26:45 +01:00
Christian Costa 0b43e9b552 winealsa: Recognize alsa application ports as generic midi ports. 2007-02-20 20:11:09 +01:00