Jörg Höhle
a39e423f6f
mmdevapi: Avoid lock contention after SetEvent.
2012-12-20 18:06:53 +01:00
Jörg Höhle
17f098869f
winealsa: Separate read and write pointers.
2012-12-18 19:21:31 +01:00
Jörg Höhle
b18c5e811f
mmdevapi: SetEventHandle is allowed only once.
2012-12-18 16:30:36 +01:00
Andrew Eikum
4f32f8e185
winealsa.drv: Be less strict about wValidBitsPerSample.
2012-12-14 17:37:45 +01:00
Andrew Eikum
1d1aa7e8a1
winealsa.drv: Improve IsFormatSupported handling.
2012-12-04 00:02:15 +01:00
Jörg Höhle
c596ddffab
winealsa: Fix capture overrun logging.
2012-10-31 18:07:40 +01:00
Henri Verbeet
fd06135d51
winealsa: Avoid depending on ddraw.h.
2012-10-25 22:27:43 +02:00
Andrew Eikum
19e9de7dde
winealsa.drv: Special-case copying common sample sizes in a tight loop.
2012-08-22 12:00:09 +02:00
Nikolay Sivov
72452b1015
winealsa: Fix variable types so pointer is not truncated on 64bit.
2012-08-21 11:46:00 +02:00
Andrew Eikum
d402231e3f
winealsa.drv: Remap mmdevapi channels to correct ALSA channels.
2012-08-17 09:56:13 +02:00
Andrew Eikum
36eb79e7f8
winealsa.drv: Don't cap the allowed number of channels.
2012-08-17 09:56:08 +02:00
Francois Gouget
fac36c55e9
Assorted typo, spelling, wording and case fixes.
2012-05-15 16:26:43 +02:00
Marcus Meissner
272535b948
winealsa.drv: Fixed buffer to RegEnumKeyExW.
2012-04-10 16:21:30 +02:00
Andrew Eikum
f461e8496d
winealsa.drv: Enumerate ALSA devices in a single pass.
2012-04-09 17:23:08 +02:00
Andrew Eikum
ea231aba40
winealsa.drv: Prefix device names with direction indication.
2012-04-05 11:56:04 +02:00
Andrew Eikum
e87cb774d1
mmdevapi: Use device GUIDs as unique identifiers.
2012-04-04 17:25:25 +02:00
Andrew Eikum
027623a007
winealsa.drv: Use device GUIDs as keys.
2012-04-04 17:24:49 +02:00
Andrew Eikum
73cdf6530c
winealsa.drv: Optionally load extra ALSA device names from the registry.
2012-02-15 12:06:38 +01:00
Alexandre Julliard
19015ae19e
winealsa: Avoid memory leak with snd_card_get_name.
2012-02-01 16:55:53 +01:00
Andrew Eikum
5860a5b386
mmdevapi: Correctly convert UINT32 to LONG32.
2012-01-30 20:44:50 +01:00
Jörg Höhle
594002d011
winealsa: Fix -errno typo.
2012-01-27 18:05:55 +01:00
Andrew Eikum
7c52a257fb
winealsa: Avoid underrun by adding a lead-in when starting with few samples.
2012-01-27 18:05:55 +01:00
Jörg Höhle
52c88ea725
winealsa: Log the periodic renderer callback.
2012-01-26 21:25:51 +01:00
Jörg Höhle
ef111ce138
winealsa: Map ALSA errors to AUDCLNT_E_*.
2012-01-26 21:25:48 +01:00
Jörg Höhle
4bbdc31d4f
winealsa: Initialize can fail with AUDCLNT_E_ENDPOINT_CREATE_FAILED.
2012-01-26 21:25:45 +01:00
Jörg Höhle
18024afd97
winealsa: Fix AudioCaptureClient Get/ReleaseBuffer protocol.
2012-01-16 13:48:24 +01:00
Jörg Höhle
999423d34e
dsound: Vista/XP SP2 reworked the Speaker Configuration.
2012-01-13 18:17:31 +01:00
Jörg Höhle
77e01019c5
winealsa: Stop may not use snd_pcm_drop or lose written frames.
2012-01-12 16:08:51 +01:00
Jörg Höhle
be90732e5e
winealsa: Reset accounts for dropped frames in capture mode.
2012-01-12 16:08:46 +01:00
Andrew Eikum
d82cca65ed
winealsa.drv: Remove "strange number of channels" FIXME.
2012-01-12 16:03:12 +01:00
Jörg Höhle
2b51d38d3c
winealsa: Fix AudioRenderClient Get/ReleaseBuffer protocol.
2012-01-10 10:48:01 +01:00
Jörg Höhle
49aa7f9f2f
winealsa: Check ValidBitsPerSample and support SND_PCM_FORMAT_S20_3LE.
2012-01-06 19:24:28 +01:00
Jörg Höhle
76f655dbb0
winealsa: Unify the checks for wBitsPerSample.
2012-01-06 19:24:28 +01:00
Jörg Höhle
92d8e93acb
winealsa: Have GetStreamLatency reflect the ALSA period.
2012-01-06 19:24:18 +01:00
Jörg Höhle
8316a77959
mmdevapi: Avoid HeapRealloc when no data need be copied.
2012-01-06 19:24:17 +01:00
Jörg Höhle
6d17715b01
winealsa: Use an ALSA buffer of 4 periods to limit prefill.
2011-12-22 17:19:21 +01:00
Jörg Höhle
54402a7c82
winealsa.drv: Request ALSA period time to match MMDevAPI period time.
2011-12-21 15:08:17 +01:00
Andrew Eikum
54b24f3926
winealsa.drv: Limit the data written to ALSA's buffer.
...
Based on an algorithm by Alexey Loukianov.
2011-12-20 10:12:19 +01:00
Jörg Höhle
38f9ba0070
mmdevapi: Enforce limits on period and duration.
2011-12-19 20:15:43 +01:00
Jörg Höhle
62017964be
winealsa: Implement IAudioClock::GetPosition() using snd_pcm_delay.
2011-12-12 15:50:41 +01:00
Jörg Höhle
7c5b90006c
mmdevapi: SHAREDMODE_EXCLUSIVE + EVENTCALLBACK is too ... exclusive for now.
2011-11-22 18:24:53 +01:00
Francois Gouget
97283f8b8d
winealsa.drv: Don't unset Spare[0] when deleting static critical sections.
2011-11-15 19:37:35 +01:00
Francois Gouget
9b55cc9e6f
winealsa.drv: Delete the g_sessions_lock critical section when unloading the dll.
2011-11-08 09:49:27 +01:00
Jörg Höhle
00684f84a5
mmdevapi: IsFormatSupported EXCLUSIVE mode never returns S_FALSE.
2011-10-28 12:49:44 +02:00
Francois Gouget
39e12238e9
winealsa.drv: Give a name to the mmdevapi critical sections.
...
Also statically initialize g_sessions_lock.
2011-10-27 14:20:44 +02:00
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