This will allow GetMixFormat and IsFormatSupported to share
this code without needing a stream.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This code will 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>
This makes construct_device_id() rather more sane.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This is primarily to simplify the code. It does however add name
collision detection if there are two unknown cards.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Part of the motivation for this patch is to eliminate variables
named "stream", in order to avoid confusion with audio streams.
It also avoids cases where both "flow" and "stream" are passed to
the same function, conveying the same information.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Pulse-based systems should be using winepulse.drv.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This fixes use of multiple MIDI outputs while keeping the flexibility of
proper ALSA sequencer port subscriptions.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52220
Signed-off-by: Jacek Konieczny <jajcus@jajcus.net>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This could lead to a deadlock with AudioSessionControl_GetState()
which acquires the locks in the other order.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Devices with the same device description cannot be distinguished.
Add card number to the description of second and subsequent instances
of devices with the same description. This mimics Windows behavior.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Doug Kingston <dpk@google.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
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>
This way changes to the port connections made by other applications will be
honoured.
Signed-off-by: Jacek Konieczny <jajcus@jajcus.net>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
That is generally the expected behaviour of any ALSA sequencer client.
Signed-off-by: Jacek Konieczny <jajcus@jajcus.net>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
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>
Signed-off-by: Bruno Jesus <00cpxxx@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
Some popular ALSA plugins claim support for a large number of channels
because they have the capability to mix that down to the actual hardware
configuration.
Instead of defaulting to 5.1 Surround sound for these plugins, let's
fall back on the much more common Stereo configuration. Users with
actual 5.1 Surround setups can tell us about it in winecfg.