Commit Graph

191 Commits

Author SHA1 Message Date
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
Charles Davis c8e87bd878 winecoreaudio.drv: Don't use pointer constants with an integer type (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 11:55:15 +09:00
Andrew Eikum 387fbdc7a1 winecoreaudio: Handle sysex MIDI messages.
Originally submitted by "tinez <tinez@tlen.pl>".

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-11 19:39:23 +09:00
Ken Thomases f634faaae3 winecoreaudio: Fix build by importing advapi32.
This was missed in commit 3494fb7f72.
2015-06-12 21:22:42 +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
Alexandre Julliard cf0e96c6d0 configure: Rename substituted variables to a standard _CFLAGS and _LIBS format. 2014-01-30 14:51:33 +01:00
Ken Thomases d3488325ae winecoreaudio: Remove some no-longer-used code. 2014-01-16 10:55:19 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01: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
Ken Thomases 9a7993045e winecoreaudio: Fix a potential leak. (Clang). 2013-10-21 10:46:48 +02: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 b95910ccbc winmm: More compatible midiIn/Out[Un]Prepare MHDR_* flag handling. 2013-02-13 17:19:43 +01: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
Nikolay Sivov d05757d29a winecoreaudio: Fix variable types so pointer is not truncated on 64bit. 2012-08-21 11:46:03 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02: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
Alexandre Julliard 9ac28c8f36 winecoreaudio: Fix spec file parameters. 2012-02-07 21:27:56 -06: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
Pierre Schweitzer 8975ad6e31 winecoreaudio.drv: Fix handle leak. 2012-01-03 12:37:36 +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