aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Audio/Renderer/Server/Splitter/SplitterContext.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Audio/Renderer/Server/Splitter/SplitterContext.cs')
-rw-r--r--src/Ryujinx.Audio/Renderer/Server/Splitter/SplitterContext.cs9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/Ryujinx.Audio/Renderer/Server/Splitter/SplitterContext.cs b/src/Ryujinx.Audio/Renderer/Server/Splitter/SplitterContext.cs
index a7b82a6b..6dddb431 100644
--- a/src/Ryujinx.Audio/Renderer/Server/Splitter/SplitterContext.cs
+++ b/src/Ryujinx.Audio/Renderer/Server/Splitter/SplitterContext.cs
@@ -52,6 +52,11 @@ namespace Ryujinx.Audio.Renderer.Server.Splitter
public bool IsBugFixed { get; private set; }
/// <summary>
+ /// If set to true, the previous mix volume is explicitly resetted using the input parameter, instead of implicitly on first use.
+ /// </summary>
+ public bool IsSplitterPrevVolumeResetSupported { get; private set; }
+
+ /// <summary>
/// Initialize <see cref="SplitterContext"/>.
/// </summary>
/// <param name="behaviourContext">The behaviour context.</param>
@@ -139,6 +144,8 @@ namespace Ryujinx.Audio.Renderer.Server.Splitter
}
}
+ IsSplitterPrevVolumeResetSupported = behaviourContext.IsSplitterPrevVolumeResetSupported();
+
SplitterState.InitializeSplitters(splitters.Span);
Setup(splitters, splitterDestinationsV1, splitterDestinationsV2, behaviourContext.IsSplitterBugFixed());
@@ -277,7 +284,7 @@ namespace Ryujinx.Audio.Renderer.Server.Splitter
{
SplitterDestination destination = GetDestination(parameter.Id);
- destination.Update(parameter);
+ destination.Update(parameter, IsSplitterPrevVolumeResetSupported);
}
return true;