ICommandProcessingTimeEstimator.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using Ryujinx.Audio.Renderer.Dsp.Command;
  2. namespace Ryujinx.Audio.Renderer.Server
  3. {
  4. /// <summary>
  5. /// Estimate the time that a <see cref="ICommand"/> should take.
  6. /// </summary>
  7. /// <remarks>This is used for voice dropping.</remarks>
  8. public interface ICommandProcessingTimeEstimator
  9. {
  10. uint Estimate(AuxiliaryBufferCommand command);
  11. uint Estimate(BiquadFilterCommand command);
  12. uint Estimate(ClearMixBufferCommand command);
  13. uint Estimate(DelayCommand command);
  14. uint Estimate(Reverb3dCommand command);
  15. uint Estimate(ReverbCommand command);
  16. uint Estimate(DepopPrepareCommand command);
  17. uint Estimate(DepopForMixBuffersCommand command);
  18. uint Estimate(MixCommand command);
  19. uint Estimate(MixRampCommand command);
  20. uint Estimate(MixRampGroupedCommand command);
  21. uint Estimate(CopyMixBufferCommand command);
  22. uint Estimate(PerformanceCommand command);
  23. uint Estimate(VolumeCommand command);
  24. uint Estimate(VolumeRampCommand command);
  25. uint Estimate(PcmInt16DataSourceCommandVersion1 command);
  26. uint Estimate(PcmFloatDataSourceCommandVersion1 command);
  27. uint Estimate(AdpcmDataSourceCommandVersion1 command);
  28. uint Estimate(DataSourceVersion2Command command);
  29. uint Estimate(CircularBufferSinkCommand command);
  30. uint Estimate(DeviceSinkCommand command);
  31. uint Estimate(DownMixSurroundToStereoCommand command);
  32. uint Estimate(UpsampleCommand command);
  33. uint Estimate(LimiterCommandVersion1 command);
  34. uint Estimate(LimiterCommandVersion2 command);
  35. uint Estimate(GroupedBiquadFilterCommand command);
  36. uint Estimate(CaptureBufferCommand command);
  37. }
  38. }