Huw Davies
d0089b85c5
wineoss: Move reset 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-14 09:27:03 +02:00
Huw Davies
dca18a115b
wineoss: Move stop 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-14 09:27:00 +02:00
Huw Davies
cc8e8bc692
wineoss: Move start 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-14 09:26:58 +02:00
Huw Davies
93cc994be8
wineoss: Move timer_loop 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-14 09:26:55 +02:00
Huw Davies
ebfd2e8495
wineoss: Store the period in 100ns units.
...
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-14 09:26:52 +02:00
Huw Davies
cdd19e3d1c
wineoss: Move get_current_padding 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-14 09:26:50 +02:00
Huw Davies
984cae317b
wineoss: Move get_latency 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-14 09:26:45 +02:00
Huw Davies
aa9d07e630
wineoss: Move get_buffer_size 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-14 09:26:14 +02:00
Huw Davies
bc81fdbf7c
wineoss: Move create_stream and release_stream 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-12 21:39:42 +02:00
Huw Davies
0562266783
wineoss: Use NtAllocateVirtualMemory() to alloc the buffers returned to the user.
...
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-12 21:39:42 +02:00
Huw Davies
e0ec4f8c19
wineoss: Use a pthread mutex for the stream 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>
2022-04-12 21:39:42 +02:00
Huw Davies
8298ca9e26
wineoss: Use the sessions lock to lock the client's data.
...
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-12 21:39:42 +02:00
Huw Davies
8b7ed43d8a
wineoss: Store the mute state in the stream.
...
Despite only mute being supported in this driver, set_stream_volumes()
is called whenever the volume info is changed to match the other drivers
and to allow a more complete volume implementation in the future.
The implementation will eventually move 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-12 21:39:42 +02:00
Huw Davies
8fc9bdff00
wineoss: Use the stream ptr to indicate the init state.
...
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-12 21:39:42 +02:00
Huw Davies
d4a2f4d44b
wineoss: Move get_mix_format 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-11 18:19:00 +02:00
Huw Davies
12c7f79afd
wineoss: Move the stream creation to AudioClient_Initialize().
...
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:58 +02:00
Huw Davies
98624b1825
wineoss: Don't cache the oss_audioinfo in the client.
...
The retrieval on endpoint creation is left in for debugging
purposes.
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:55 +02:00
Huw Davies
a465ecd745
wineoss: Move is_format_supported 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-11 18:18:52 +02:00
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
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
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
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
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
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