aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Audio/Renderer/Device/VirtualDeviceSessionRegistry.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Audio/Renderer/Device/VirtualDeviceSessionRegistry.cs')
-rw-r--r--src/Ryujinx.Audio/Renderer/Device/VirtualDeviceSessionRegistry.cs19
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.