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
Andrew Eikum
ad009330f5
winecoreaudio.drv: Don't fail if setting volume fails.
...
Some audio input devices don't support setting the device volume, while
others do. So attempt to set the volume, but don't return an error code
if it fails.
2011-10-13 19:57:18 +02:00
Andrew Eikum
f7364dfb4b
mmdevapi: Don't fail if dwChannelMask is not set correctly.
2011-09-28 21:04:33 +02:00
Andrew Eikum
a773b16d79
winecoreaudio.drv: Remove wave, mixer, and dsound driver code.
2011-09-26 18:34:53 +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
57cbb01f0c
winecoreaudio: Fix AudioRenderClient Get/ReleaseBuffer protocol.
2011-09-07 18:13:29 +02:00
Jörg Höhle
df201d3ef3
mmdevapi: Accept up to 8 channels.
2011-09-07 18:13:29 +02:00
Andrew Eikum
c4b94b1ba4
mmdevapi: Automatically select the correct driver.
2011-09-01 18:06:37 +02:00