Commit Graph

176 Commits

Author SHA1 Message Date
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
Naveen Narayanan 557c4334a5 wineoss: Fix the -lossaudio check.
Only check for libossaudio if compiling wineoss.drv and the headers
are recent enough. Also only wineoss.drv needs to be linked with
libossaudio so put the link options in OSS4_LIBS.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-29 20:08:14 +02:00
Michael Stefaniuc 78aaffb55d wineoss.drv: Remove useless cast to self.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 20:24:59 +01:00
Michael Stefaniuc f00c5c2a37 wineoss.drv: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:16:02 +02:00
Michael Stefaniuc 6cf789cc74 wineoss.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:36 +09:00
Andrew Eikum b2caf7513a wineoss.drv: Avoid potential overflow (Coverity).
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 12:18:39 +09:00
Nikolay Sivov 074d909235 wineoss: Initialized wReserved1 field returned to auxGetDevCapsW().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-25 13:22:27 +09:00
Alexandre Julliard 3494fb7f72 kernel32: Avoid resolving imports against the advapi32 forwards. 2015-06-10 15:26:05 +09:00
Nikolay Sivov d05999217e wineoss: Properly initialize pollfd structure (Coverity). 2015-06-04 15:55:35 +09:00
Andrew Eikum 025e6650e4 wineoss.drv: Cap reported OSS fill level to expected level.
Some devices apparently return that the buffer contains an extra frame
that we never wrote. We should account for that to avoid an integer
underflow.
2015-04-06 23:23:43 +09:00
Andrew Eikum 932f392e08 wineoss.drv: Don't skip over position updates of less than one fragment. 2015-04-02 23:14:35 +09:00
Francois Gouget 0ca3c64e92 wineoss.drv: Remove an uneeded NONAMELESSUNION directive. 2015-03-27 00:12:27 +09:00
Andrew Eikum 50cdc6d7f3 wineoss.drv: Don't use SNDCTL_DSP_GETISPACE.
This shouldn't be needed as the device is opened in non-blocking mode,
and it appears this function is unimplemented on PCBSD.
2014-12-17 17:10:23 +01:00
Andrew Eikum d301254e72 mmdevapi: More accurately track device position. 2014-12-17 17:10:20 +01:00
André Hentschel d12e65af70 wineoss.drv: Remove unused string (Clang). 2014-12-04 14:03:21 +01: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
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Andrew Eikum a5975bb601 mmdevapi: Fill buffer with silence in IAudioRenderClient::GetBuffer. 2013-11-12 19:06:09 +01:00
Frédéric Delanoy 10f7f09d43 wineoss.drv: Use BOOL type where appropriate. 2013-10-09 10:08:37 +02:00
Jeff Klein 1582458d70 wineoss.drv: Implement IMarshal for IAudioClient. 2013-08-02 11:36:36 +02:00
André Hentschel b5bb995e5c wineoss.drv: Don't use autoheader styled define. 2013-06-17 13:34:40 +02:00
Alexandre Julliard 8d8d55e1b0 wineoss.drv: Don't bother to free memory at process exit. 2013-05-15 10:30:36 +02:00
Jörg Höhle b0fc000ce1 winmm: Prevent some MIDI race conditions. 2013-03-01 18:03:30 +01:00
Jörg Höhle 702fe6738b wineoss: Add midi MTC Quarter Frame support (on output). 2013-03-01 18:03:30 +01:00
Michael Stefaniuc f128551439 wineoss.drv: Use offsetof to calculate the size of a struct with variable length array. 2013-02-14 11:01:11 +01:00
Jörg Höhle b95910ccbc winmm: More compatible midiIn/Out[Un]Prepare MHDR_* flag handling. 2013-02-13 17:19:43 +01:00
Andrew Eikum 6da3ce276b wineoss.drv: Set reasonable defaults if driver reports invalid values. 2013-01-28 19:43:32 +01:00
Jörg Höhle a39e423f6f mmdevapi: Avoid lock contention after SetEvent. 2012-12-20 18:06:53 +01:00
Jörg Höhle b18c5e811f mmdevapi: SetEventHandle is allowed only once. 2012-12-18 16:30:36 +01:00
Andrew Eikum dc0cef3d3b wineoss.drv: Improve IsFormatSupported handling. 2012-12-04 00:02:35 +01:00
Nikolay Sivov d96cd05efe wineoss: Fix variable types so pointer is not truncated on 64bit. 2012-08-21 11:46:07 +02:00
Andrew Eikum e5551393bd wineoss.drv: Resolve some diff between winealsa and wineoss. 2012-05-22 20:49:30 +02:00
Andrew Eikum 1c37857a18 wineoss.drv: Track number of frames reserved by client in capture direction. 2012-05-22 20:49:29 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02:00
Francois Gouget d76d88a74b wineoss.drv: Make get_ossdevice_from_guid() static. 2012-04-20 12:00:25 +02:00
Andrew Eikum 81ca5d09b6 wineoss.drv: Prefix device names with direction indication. 2012-04-05 11:56:08 +02:00
Andrew Eikum e87cb774d1 mmdevapi: Use device GUIDs as unique identifiers. 2012-04-04 17:25:25 +02:00
Andrew Eikum f63267db80 wineoss.drv: Use device GUIDs as keys. 2012-04-04 17:24:54 +02:00
Andrew Eikum 7437eb63fc wineoss.drv: Fix DeleteTimerQueueTimer usage. 2012-02-23 17:40:29 +01:00
Andrew Eikum 67617c78a5 wineoss.drv: Downgrade most ERRs to WARNs. 2012-02-07 14:02:49 -06:00
Andrew Eikum bb1ca58114 wineoss.drv: Don't call GETOSPACE immediately after device initialization. 2012-02-06 10:24:04 -06:00
Andrew Eikum 5860a5b386 mmdevapi: Correctly convert UINT32 to LONG32. 2012-01-30 20:44:50 +01:00