Commit Graph

323 Commits

Author SHA1 Message Date
Andrew Eikum 8410dd353c audio: Change winmm import to delayed import. 2011-10-05 14:13:31 -05:00
Andrew Eikum d41f6a6f02 winealsa.drv: Fix default device creation logic. 2011-09-30 10:32:09 -05:00
Andrew Eikum f7364dfb4b mmdevapi: Don't fail if dwChannelMask is not set correctly. 2011-09-28 21:04:33 +02:00
Andrew Eikum b1fdaa81b0 dsound: Remove hardware acceleration support. 2011-09-26 18:38:07 +02:00
Andrew Eikum 8258a5188c winealsa.drv: Remove wave, mixer, and dsound driver code. 2011-09-26 18:33:43 +02:00
Jörg Höhle 386f7639f3 winealsa: Simplify the test for 8bit linear PCM. 2011-09-26 18:09:14 +02:00
Jörg Höhle 8379680095 mmdevapi: Unlock buffer in case of ReleaseBuffer error. 2011-09-22 19:51:52 +02:00
Jörg Höhle 03ad9366f1 mmdevapi: Fix stuttering upon start and underrun. 2011-09-22 19:51:52 +02:00
Henri Verbeet 232893e083 winealsa.drv: Use the plughw instead of the hw interface for opening devices. 2011-09-22 09:39:11 +02:00
Henri Verbeet 0625d439de winealsa.drv: Only report endpoints for "default" if they can be opened.
The default device may for example be a set of USB speakers or an USB
microphone, in which case you'd have just an output or just an input
respectively.
2011-09-22 09:39:01 +02:00
Andrew Eikum e7a652395b winealsa.drv: Allow creation of the default device even if all real devices failed to open. 2011-09-15 15:41:40 +02:00
Bernhard Loos 366f54110a winealsa.drv: If there are no devices, there is also no default device. 2011-09-09 16:03:42 +02:00
Jörg Höhle 3e1d402881 mmdevapi: IsFormatSupported fills closest match iff it returns S_FALSE. 2011-09-09 14:24:08 +02:00
Jörg Höhle 9c75a6aae5 winealsa: Recommend Pulse users to upgrade to handle_underrun. 2011-09-08 20:08:09 +02:00
Jörg Höhle 08dd823c7c mmdevapi: Use UINT32 for a number of frames and UINT64 to sum them. 2011-09-08 20:08:09 +02:00
Jörg Höhle df201d3ef3 mmdevapi: Accept up to 8 channels. 2011-09-07 18:13:29 +02:00
Andrew Talbot 99b8ee10d1 winealsa.drv: Remove unneeded address-of operators from function name. 2011-09-05 10:53:22 +02:00
Andrew Eikum c4b94b1ba4 mmdevapi: Automatically select the correct driver. 2011-09-01 18:06:37 +02:00
Jörg Höhle abf5b64f4c mmdevapi: Do not mix frames and bytes. 2011-08-30 17:10:40 +02:00
Jörg Höhle 8129b1847a winealsa: Pulse knows handle_underrun only since 2010-07-09. 2011-08-26 13:21:41 +02:00
Jörg Höhle 541075c3db mmdevapi: After GetBuffer, refuse Reset, but Start/Stop is ok. 2011-08-24 11:52:06 +02:00
Jörg Höhle 47bc6223e9 winealsa.drv: Fix AudioRenderClient write pointer calculation. 2011-08-22 16:14:34 +02:00
Andrew Eikum 9ad60d1d14 winealsa.drv: Inject handle_underrun=1 setting for pulse-backed devices. 2011-08-05 16:41:09 +02:00
Andrew Eikum 8c109aee13 winealsa.drv: Tell ALSA to play silence during underruns. 2011-08-05 16:37:54 +02:00
Francois Gouget ed3c9a1eca Assorted spelling fixes. 2011-08-03 14:15:48 +02:00
Andrew Eikum 96aa86c99d winealsa.drv: Fix AudioRenderClient write pointer calculation. 2011-07-27 19:42:21 +02:00
Andrew Eikum 80fd691e9e mmdevapi: Use a sane default if no buffer size is requested. 2011-07-18 18:31:06 +02:00
Andrew Eikum 2174717fbd mmdevapi: Only enumerate devices that can be opened during initialization. 2011-07-14 14:39:46 +02:00
Francois Gouget 84fca0017a winealsa.drv: Make the AudioSessionManager methods static. 2011-07-11 18:31:50 +02:00
Jacek Caban dbba09ca29 audiopolicy.idl: Fixed SetGroupingParam declaration. 2011-07-04 13:45:14 +02:00
Jörg Höhle 8db18a893b winealsa: Avoid deadlock in AudioClient_Stop. 2011-06-21 14:51:14 +02:00
Andrew Eikum 0085689f5d mmdevapi: Implement ISimpleAudioVolume::{Set, Get}Mute. 2011-06-20 19:31:57 +02:00
Andrew Eikum c6312990ab winealsa.drv: Be less choosey about sample rates. 2011-06-20 19:31:50 +02:00
Andrew Eikum a93efd5346 mmdevapi: Fix refcounts in IAudioClient::GetService. 2011-06-20 19:31:39 +02:00
Jörg Höhle 26efb871d3 winealsa: Fix mmdevapi memory allocations. 2011-06-17 15:04:53 +02:00
Stephane Bacri d8ccfafd5b winealsa.drv: Add midi MTC Quarter Frame messages support. 2011-06-17 12:36:33 +02:00
Andrew Eikum bc10fd3ce6 mmdevapi: Sessions should be unique per-device. 2011-06-14 12:59:39 +02:00
Jörg Höhle d726cf8819 winealsa: Properly allocate the WAVEFORMATEXTENSIBLE returned by GetMixFormat. 2011-06-06 21:49:20 +02:00
Andrew Eikum 6dac4d713c winealsa.drv: Partially implement IAudioSessionManager2. 2011-06-06 21:49:18 +02:00
Andrew Eikum 934a64cb38 winealsa.drv: Implement device enumeration. 2011-05-25 12:22:09 +02:00
Marcus Meissner 5078d07e6f winealsa.drv: Mark internal symbols with hidden visibility. 2011-05-25 11:50:35 +02:00
Andrew Eikum ae9338c136 winealsa.drv: Implement volume control interfaces. 2011-05-09 11:58:41 +02:00
Andrew Eikum af92572b38 winealsa.drv: Move IAudioClock closer to its related interfaces. 2011-05-09 11:58:38 +02:00
Andrew Eikum eabf5715ce winealsa.drv: Implement IAudioSessionControl::GetState. 2011-05-02 18:48:20 +02:00
Andrew Eikum 4a37f2f093 mmdevapi: Initialize global driver data at DLL load time. 2011-05-02 18:48:20 +02:00
Andrew Eikum e3ff943e9c winealsa.drv: Add mapping for 64-bit floats in IAudioClient::Initialize(). 2011-04-27 17:49:53 +02:00
Andrew Eikum fc4748ae74 winealsa.drv: Properly allocate and free the WAVEFORMATEX returned by IsFormatSupported. 2011-04-27 17:49:46 +02:00
Andrew Eikum 2692a68ce6 winealsa.drv: Replace incorrect 41100 with 44100. 2011-04-27 17:49:11 +02:00
Maarten Lankhorst c385a93505 winealsa: Zero buffer, only write data if needed. 2011-04-26 16:18:00 +02:00
Andrew Eikum 86e90c92af winealsa.drv: Add mmdevapi driver.
Maarten Lankhorst also contributed to this driver.
2011-04-25 17:29:11 +02:00
Austin English aca6107785 winealsa.drv: Remove extraneous parentheses (LLVM/Clang). 2011-04-13 14:13:55 +02:00
Jörg Höhle 75dbd1162e winmm: Audio drivers unconditionally invoke DriverCallback. 2011-04-11 17:32:29 +02:00
Alexandre Julliard 255cc210b6 winealsa.drv: Remove unnecessary ifdefs. 2011-03-28 22:07:26 +02:00
Jörg Höhle e52f5773e1 winealsa: Favour HeapAlloc() over malloc(). 2011-03-15 17:14:08 +01:00
Jörg Höhle 8df872535e winealsa: Ignore failure to notify winmm wave clients. 2011-03-15 17:14:08 +01:00
Jörg Höhle 04e3bda410 winealsa: Open must fail when recorder thread creation fails. 2011-03-15 17:14:08 +01:00
Jörg Höhle 56f2c5800f winealsa: CreateEvent and CreateThread return NULL on error, not INVALID_HANDLE_VALUE. 2011-03-15 17:14:08 +01:00
Marcus Meissner a1a2de1853 winealsa.drv: Fixed bad sizeof (pointer vs struct) (Coverity). 2011-03-14 13:11:11 +01:00
Andy Norris 254b8f85b5 winealsa: Add support for alsa cards without a PCM mixer (only Line). 2011-03-08 16:55:10 +01:00
Rafał Mużyło 110e66dc0c winealsa.drv: Drop redundant calls. 2011-03-04 16:26:01 +01:00
Marcus Meissner 4b5641add1 winealsa.drv: Re-add capcontrols initialization. 2010-12-27 11:47:21 +01:00
Michael Stefaniuc 820f376985 winealsa.drv: Standardize the COM usage in dsoutput.c. 2010-12-08 16:10:42 +01:00
Jeff Cook 0b4c99cd7d winealsa.drv: Rewrite channel counting for additional readability and circumvention of a couple of crashes. 2010-10-11 17:11:26 +02:00
Jeff Cook e96d3d538a winealsa.drv: Only set micelem as master if there are no other elems on this card. 2010-10-11 17:11:25 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Austin English abd0a93afd winealsa.drv: Remove unused variable. 2010-09-06 16:17:10 +02:00
Jeff Cook e699184e48 winealsa.drv: Only filllines_no_master with micelem when micelem is found. 2010-08-24 17:22:49 +02:00
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