Migrate Audio service to new IPC (#6285)

* Migrate audren to new IPC

* Migrate audout

* Migrate audin

* Migrate hwopus

* Bye bye old audio service

* Switch volume control to IHardwareDeviceDriver

* Somewhat unrelated changes

* Remove Concentus reference from HLE

* Implement OpenAudioRendererForManualExecution

* Remove SetVolume/GetVolume methods that are not necessary

* Remove SetVolume/GetVolume methods that are not necessary (2)

* Fix incorrect volume update

* PR feedback

* PR feedback

* Stub audrec

* Init outParameter

* Make FinalOutputRecorderParameter/Internal readonly

* Make FinalOutputRecorder IDisposable

* Fix HardwareOpusDecoderManager parameter buffers

* Opus work buffer size and error handling improvements

* Add AudioInProtocolName enum

* Fix potential divisions by zero
This commit is contained in:
gdkchan 2024-02-22 16:58:33 -03:00 committed by GitHub
parent 57d8afd0c9
commit d4d0a48bfe
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
130 changed files with 3096 additions and 3174 deletions

View file

@ -286,13 +286,13 @@ namespace Ryujinx.Horizon.Generators.Hipc
{
if (IsNonSpanOutBuffer(compilation, parameter))
{
generator.AppendLine($"using var {argName} = CommandSerialization.GetWritableRegion(processor.GetBufferRange({outArgIndex++}));");
generator.AppendLine($"using var {argName} = CommandSerialization.GetWritableRegion(processor.GetBufferRange({index}));");
argName = $"out {GenerateSpanCastElement0(canonicalTypeName, $"{argName}.Memory.Span")}";
}
else
{
outParameters.Add(new OutParameter(argName, canonicalTypeName, index, argType));
outParameters.Add(new OutParameter(argName, canonicalTypeName, outArgIndex++, argType));
argName = $"out {canonicalTypeName} {argName}";
}