| 123456789101112131415161718192021222324252627282930 |
- 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.EffectCount +
- parameters.SubMixCount +
- parameters.SinkCount + 1) << 32) >> 0x1C) + 0x658;
- }
- }
- }
|