diff options
author | Mary <mary@mary.zone> | 2023-05-13 09:15:16 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-13 07:15:16 +0000 |
commit | 880fd3cfcb1c394b06bdb4cd3433e23379b4fbe7 (patch) | |
tree | b88542f5b7711634554670fd6159f2f80529d5b9 /src/Ryujinx.Audio/Renderer/Device/VirtualDeviceSessionRegistry.cs | |
parent | f679f25e084b7196f1eabd6a0e9ea60bca679a75 (diff) |
audio: sdl2: Do not report 5.1 if the device doesn't support it (#4908)1.1.797
* amadeus: adjust VirtualDevice channel configuration reporting with HardwareDevice
* audio: sdl2: Do not report 5.1 if device doesn't support it
SDL2 5.1 to Stereo conversion is terrible and make everything sound
quiet.
Let's not expose 5.1 if not truly supported by the device.
Diffstat (limited to 'src/Ryujinx.Audio/Renderer/Device/VirtualDeviceSessionRegistry.cs')
-rw-r--r-- | src/Ryujinx.Audio/Renderer/Device/VirtualDeviceSessionRegistry.cs | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/Ryujinx.Audio/Renderer/Device/VirtualDeviceSessionRegistry.cs b/src/Ryujinx.Audio/Renderer/Device/VirtualDeviceSessionRegistry.cs index 927e45ad..696af90f 100644 --- a/src/Ryujinx.Audio/Renderer/Device/VirtualDeviceSessionRegistry.cs +++ b/src/Ryujinx.Audio/Renderer/Device/VirtualDeviceSessionRegistry.cs @@ -1,3 +1,4 @@ +using Ryujinx.Audio.Integration; using System.Collections.Generic; namespace Ryujinx.Audio.Renderer.Device @@ -22,7 +23,23 @@ namespace Ryujinx.Audio.Renderer.Device /// The current active <see cref="VirtualDevice"/>. /// </summary> // TODO: make this configurable - public VirtualDevice ActiveDevice = VirtualDevice.Devices[2]; + public VirtualDevice ActiveDevice { get; } + + public VirtualDeviceSessionRegistry(IHardwareDeviceDriver driver) + { + uint channelCount; + + if (driver.GetRealDeviceDriver().SupportsChannelCount(6)) + { + channelCount = 6; + } + else + { + channelCount = 2; + } + + ActiveDevice = new VirtualDevice("AudioTvOutput", channelCount, false); + } /// <summary> /// Get the associated <see cref="T:VirtualDeviceSession[]"/> from an AppletResourceId. |