using Ryujinx.Common.Logging;
namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
{
static class PerformanceManager
public static long GetRequiredBufferSizeForPerformanceMetricsPerFrame(BehaviorInfo behaviorInfo, AudioRendererParameter parameters)
int performanceMetricsDataFormat = behaviorInfo.GetPerformanceMetricsDataFormat();
if (performanceMetricsDataFormat == 2)
return 24 * (parameters.VoiceCount +
parameters.EffectCount +
parameters.SubMixCount +
parameters.SinkCount + 1) + 0x990;
}
if (performanceMetricsDataFormat != 1)
Logger.Warning?.Print(LogClass.ServiceAudio, $"PerformanceMetricsDataFormat: {performanceMetricsDataFormat} is not supported!");
return (((parameters.VoiceCount +
parameters.SinkCount + 1) << 32) >> 0x1C) + 0x658;