Rémi Bernon
2e1934598d
mmdevapi: Support new AUDCLNT_* creation flags.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=25173
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45700
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-13 21:22:11 +02:00
Andrew Eikum
227c47e7a0
mmdevapi: Return E_INVALIDARG for invalid share mode argument.
...
Matches Windows 10 behavior.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-27 19:16:56 +01:00
Andrew Eikum
3c1ee2f80d
mmdevapi: Set data pointer to NULL on IAudioCaptureClient::GetBuffer failure.
...
Matches Windows 10 behavior.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-27 19:16:53 +01:00
Andrew Eikum
b56d19d3a0
mmdevapi: Avoid reporting odd numbers of channels.
...
Fixes sound in Touhou Luna Nights with some surround sound
configurations.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-10 23:20:41 +02:00
Alexandre Julliard
3d6febc997
include: Get rid of the DPRINTF() macro.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 19:34:44 +02:00
Andrew Eikum
be0c18b2b1
winecoreaudio.drv: Remove useless cast to self.
...
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 20:25:07 +01:00
Michael Stefaniuc
5e7c892811
winecoreaudio.drv: Use debugstr_guid() to trace a guid.
...
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-08 21:51:49 +09:00
Andrew Eikum
8efa49375a
winecoreaudio.drv: Ensure divide-by-zero SSE exceptions are masked before calling AudioConverterNew.
...
AudioConverterNew can trigger a divide-by-zero exception. Normally this
is masked by the default SSE mask flags. However, iRacing disables this
mask, leading to a crash when it tries to initialize a recording device.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-25 22:30:02 +09:00
Charles Davis
4a00695db6
winecoreaudio.drv: Don't print 32-bit values as long integers (Clang).
...
Signed-off-by: Charles Davis <cdavis5x@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-23 23:15:25 +09:00
Francois Gouget
04a260faa2
winecoreaudio.drv: The drv_keyW variable is unused so remove it.
2015-03-13 21:57:32 +09:00
Sebastian Lackner
26eed57018
winecoreaudio.drv: Avoid endless loop if registry keys are not accessible.
2014-11-05 13:15:50 +09:00
Andrew Eikum
46928d381e
winecoreaudio.drv: Use AUHAL API instead of AudioQueue.
2014-07-02 15:55:18 +02:00
Andrew Eikum
b950b9a835
mmdevapi: Don't stop sending event signals after IAudioClient::Stop.
2014-06-30 10:32:36 +02:00
Andrew Eikum
d5b597fee5
mmdevapi: Standardize period sizes.
2014-06-30 10:32:08 +02:00
Marcus Meissner
eddf841ab3
winealsa/wineoss/winecoreaudio: Calculate frequency in 64bit (Coverity).
2014-06-17 09:07:34 +02:00
Andrew Eikum
0e84a59d89
mmdevapi: Clock rate should be in bytes for shared mode.
2014-05-19 16:01:07 +02:00
Andrew Eikum
b634666e13
mmdevapi: Make buffer size divisible by number of periods.
2014-05-19 16:01:03 +02:00
Andrew Eikum
f53dd40ad8
winecoreaudio.drv: Don't return 0 absolute position if AudioQueue call fails.
...
Some failures are temporary, for example if the user reconfigures their
audio setup while playing audio. Returning 0 could have bad "going
backward in time" effects which can break audio even after the call
starts to succeed again.
2013-11-22 11:34:47 +01:00
Andrew Eikum
a5975bb601
mmdevapi: Fill buffer with silence in IAudioRenderClient::GetBuffer.
2013-11-12 19:06:09 +01:00
Andrew Eikum
927324ce8f
winecoreaudio.drv: Rewrite capture mode.
2013-08-21 19:55:32 +02:00
Jeff Klein
9d79ca02d3
winecoreaudio.drv: Implement IMarshal for IAudioClient.
2013-08-02 11:36:34 +02:00
Andrew Eikum
0746767d91
winecoreaudio.drv: Fix copy-paste typo.
2013-07-11 15:53:50 +02:00
Alexandre Julliard
d47d03d26a
winecoreaudio.drv: Don't bother to delete critical sections at process exit.
2013-05-16 12:56:38 +02:00
Jörg Höhle
b18c5e811f
mmdevapi: SetEventHandle is allowed only once.
2012-12-18 16:30:36 +01:00
Andrew Eikum
af20740d07
winecoreaudio.drv: Improve IsFormatSupported handling.
2012-12-04 00:02:28 +01:00
Andrew Eikum
e84f05bcbc
winecoreaudio.drv: Convert some OSStatus errors to HRESULT.
2012-12-04 00:02:22 +01:00
Andrew Eikum
e87cb774d1
mmdevapi: Use device GUIDs as unique identifiers.
2012-04-04 17:25:25 +02:00
Andrew Eikum
98815f399c
winecoreaudio.drv: Use device GUIDs as keys.
2012-04-04 17:24:59 +02:00
Andrew Eikum
57bb0898f3
winecoreaudio: Improve underrun handling.
2012-02-01 16:56:04 +01:00
Jörg Höhle
f489cc97c7
winecoreaudio: Fix the Start/Stop/Reset cycle.
2012-01-31 15:37:35 +01:00
Jörg Höhle
4b888861f9
winecoreaudio: Implement a lock-free callback design.
2012-01-31 15:37:21 +01:00
Jörg Höhle
c995011974
winecoreaudio: Avoid deadlock in AudioClient_Stop.
2012-01-31 15:37:13 +01:00
Jörg Höhle
89eaa56a2f
winecoreaudio: GetNextPacketSize returns 0 when no data is available yet.
2012-01-16 13:48:28 +01:00
Jörg Höhle
ee5f6f229e
winecoreaudio: Fix AudioCaptureClient Get/ReleaseBuffer protocol.
2012-01-13 18:17:32 +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
fcc9b74cb2
mmdevapi: Round buffer size like native in shared mode.
2012-01-09 15:34:47 +01:00
Jörg Höhle
9bd61f4337
winecoreaudio: Fix latency calculation.
2012-01-06 19:24:18 +01:00
Jörg Höhle
acd8d60faa
mmdevapi: GetDevicePeriod returns constants.
2012-01-06 19:24:17 +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
7c5b90006c
mmdevapi: SHAREDMODE_EXCLUSIVE + EVENTCALLBACK is too ... exclusive for now.
2011-11-22 18:24:53 +01:00
Andrew Eikum
2da60016af
winecoreaudio.drv: Make driver sample accurate.
2011-11-22 17:17:34 +01:00
Andrew Eikum
ca18b8ffb3
winecoreaudio.drv: Fix latency calculation.
2011-11-22 17:17:32 +01:00
Francois Gouget
1c3617a2c6
winecoreaudio.drv: Don't unset Spare[0] when deleting static critical sections.
2011-11-15 19:37:35 +01:00
Francois Gouget
cfce8ab459
winecoreaudio.drv: Give a name to the midi and mmdevapi critical sections.
2011-11-08 09:49:30 +01:00
Jörg Höhle
00684f84a5
mmdevapi: IsFormatSupported EXCLUSIVE mode never returns S_FALSE.
2011-10-28 12:49:44 +02:00
Jörg Höhle
41c6ffea44
winecoreaudio: Release buffer memory.
2011-10-28 12:47:43 +02:00
Ken Thomases
7eadf7bb9f
winecoreaudio: Improved tracing.
2011-10-21 12:12:43 +02:00
Ken Thomases
cf39023208
winecoreaudio: Avoid an extra copy/conversion of a string.
2011-10-21 12:12:36 +02:00
Ken Thomases
4bceee9e15
winecoreaudio: Fix a test for allocation failure (copy/paste error).
2011-10-21 12:12:29 +02:00
Ken Thomases
9162c3d32d
winecoreaudio: Fix a leak.
2011-10-21 12:12:23 +02:00