Commit Graph

197 Commits

Author SHA1 Message Date
Huw Davies f9f3ece6ca wineoss: Introduce a stream structure.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 18:18:49 +02:00
Huw Davies 13d69651f6 wineoss: Use the global lock to lock the session.
Mainly for simplicity.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 18:18:46 +02:00
Huw Davies aca2193671 wineoss: Dynamically size the devnode array.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 18:18:44 +02:00
Huw Davies 9ff920cdd9 wineoss: Explicitly store the channel count in the client.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-11 18:18:41 +02:00
Huw Davies ab12c81feb wineoss: Move get_endpoint_ids to the unixlib.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-05 20:44:44 +02:00
Huw Davies d416b200a8 wineoss: Move get_ossdevice_from_guid() earlier in the file.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-05 20:44:41 +02:00
Huw Davies 61d4000e38 wineoss: Add a helper to open the device.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-05 20:44:38 +02:00
Huw Davies 47dafdc746 wineoss: Pass a buffer to oss_clean_devnode().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-05 20:44:34 +02:00
Huw Davies 13a1f17f88 wineoss: Introduce a test_connect syscall.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-05 20:44:31 +02:00
Alexandre Julliard f0cd33c69e include: Add support for defining Win32 types as 'long' where possible.
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Alexandre Julliard e5d69d9ee6 configure: Assume that sys/ioctl.h is available on Unix.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-09 18:43:51 +01:00
Huw Davies 7b42697124 wineoss: Don't acquire the sessions lock after the client lock.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-03 16:56:08 +01:00
Alexandre Julliard 8d6c33c3bf include: Remove wine/port.h.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 18:13:54 +01:00
Alexandre Julliard 143bd63b27 include: Remove some no longer used Unicode functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-12-01 18:13:54 +01:00
Huw Davies 6fdae1979b configure: Stop checking for poll.h and sys/poll.h - always use poll.h.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-31 17:56:54 +01:00
Alexandre Julliard 6ba7773121 makefiles: Add a -mcygwin flag to specify the inverse of -mno-cygwin.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02:00
Andrew Eikum db87636c91 mmdevapi: Support older version of the AudioClientProperties structure.
Warframe when using a win10 prefix uses an xaudio2_9redist.dll which
uses the older AudioClientProperties structure (missing the Options
member).

Based on a patch by Alistair Leslie-Hughes.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-20 21:13:53 +01:00
Andrew Eikum 6314a75006 mmdevapi: Stub implement IAudioClient3.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-02 09:59:28 +02:00
Andrew Eikum d8ae98d421 mmdevapi: Implement SetClientProperties.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-02 09:58:45 +02:00
Andrew Eikum 530c79fba2 mmdevapi: Implement IsOffloadCapable.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-02 09:58:42 +02:00
Andrew Eikum 370a538e54 mmdevapi: Stub implement IAudioClient2.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-02 09:58:40 +02:00
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