Commit graph

228 commits

Author SHA1 Message Date
Andrew Talbot
654f280947 winealsa.drv: Add some return statements to mark semantic separations. 2011-10-14 13:12:28 +02:00
Dan Kegel
78e6287f71 winealsa.drv: When allocating opaque blobs for alsa, initialize them to zero. 2011-10-13 20:43:15 +02:00
Andrew Eikum
f2c33ae17a winealsa.drv: Fix invalid pointer dereference on error path. 2011-10-13 19:57:18 +02:00
Michael Stefaniuc
d8ca697233 winealsa.drv: Remove redundant NULL checks before free (Smatch). 2011-10-11 13:37:50 +02:00
Andrew Eikum
b0652dd8bd winealsa.drv: Don't try to control ALSA's behavior.
Now, winealsa maintains its own buffer, which is written to ALSA on the
period cycle requested by the application. We also let ALSA start when
it has enough data and stop when it runs out, recovering from the
expected underruns. This seems to be more like how ALSA expects to be
used.
2011-10-11 13:37:49 +02:00
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