diff options
author | Liam <byteslice@airmail.cc> | 2024-02-21 02:42:28 +0100 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2024-02-21 04:15:38 +0100 |
commit | ea4703cb3111a21bc65588e3e01712b006f4d367 (patch) | |
tree | 3684c170810c59e9ba747802499d0a5605677f5d /src/core/hle/service/audio/hardware_opus_decoder_manager.h | |
parent | audio: rewrite IAudioRenderer (diff) | |
download | yuzu-ea4703cb3111a21bc65588e3e01712b006f4d367.tar yuzu-ea4703cb3111a21bc65588e3e01712b006f4d367.tar.gz yuzu-ea4703cb3111a21bc65588e3e01712b006f4d367.tar.bz2 yuzu-ea4703cb3111a21bc65588e3e01712b006f4d367.tar.lz yuzu-ea4703cb3111a21bc65588e3e01712b006f4d367.tar.xz yuzu-ea4703cb3111a21bc65588e3e01712b006f4d367.tar.zst yuzu-ea4703cb3111a21bc65588e3e01712b006f4d367.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/service/audio/hardware_opus_decoder_manager.h | 45 |
1 files changed, 31 insertions, 14 deletions
diff --git a/src/core/hle/service/audio/hardware_opus_decoder_manager.h b/src/core/hle/service/audio/hardware_opus_decoder_manager.h index 29b1f16f5..4f869c517 100644 --- a/src/core/hle/service/audio/hardware_opus_decoder_manager.h +++ b/src/core/hle/service/audio/hardware_opus_decoder_manager.h @@ -4,30 +4,47 @@ #pragma once #include "audio_core/opus/decoder_manager.h" +#include "core/hle/service/cmif_types.h" #include "core/hle/service/service.h" -namespace Core { -class System; -} - namespace Service::Audio { +class IHardwareOpusDecoder; + +using AudioCore::OpusDecoder::OpusMultiStreamParameters; +using AudioCore::OpusDecoder::OpusMultiStreamParametersEx; +using AudioCore::OpusDecoder::OpusParameters; +using AudioCore::OpusDecoder::OpusParametersEx; + class IHardwareOpusDecoderManager final : public ServiceFramework<IHardwareOpusDecoderManager> { public: explicit IHardwareOpusDecoderManager(Core::System& system_); ~IHardwareOpusDecoderManager() override; private: - void OpenHardwareOpusDecoder(HLERequestContext& ctx); - void GetWorkBufferSize(HLERequestContext& ctx); - void OpenHardwareOpusDecoderForMultiStream(HLERequestContext& ctx); - void GetWorkBufferSizeForMultiStream(HLERequestContext& ctx); - void OpenHardwareOpusDecoderEx(HLERequestContext& ctx); - void GetWorkBufferSizeEx(HLERequestContext& ctx); - void OpenHardwareOpusDecoderForMultiStreamEx(HLERequestContext& ctx); - void GetWorkBufferSizeForMultiStreamEx(HLERequestContext& ctx); - void GetWorkBufferSizeExEx(HLERequestContext& ctx); - void GetWorkBufferSizeForMultiStreamExEx(HLERequestContext& ctx); + Result OpenHardwareOpusDecoder(Out<SharedPointer<IHardwareOpusDecoder>> out_decoder, + OpusParameters params, u32 tmem_size, + InCopyHandle<Kernel::KTransferMemory> tmem_handle); + Result GetWorkBufferSize(Out<u32> out_size, OpusParameters params); + Result OpenHardwareOpusDecoderForMultiStream( + Out<SharedPointer<IHardwareOpusDecoder>> out_decoder, + InLargeData<OpusMultiStreamParameters, BufferAttr_HipcPointer> params, u32 tmem_size, + InCopyHandle<Kernel::KTransferMemory> tmem_handle); + Result GetWorkBufferSizeForMultiStream( + Out<u32> out_size, InLargeData<OpusMultiStreamParameters, BufferAttr_HipcPointer> params); + Result OpenHardwareOpusDecoderEx(Out<SharedPointer<IHardwareOpusDecoder>> out_decoder, + OpusParametersEx params, u32 tmem_size, + InCopyHandle<Kernel::KTransferMemory> tmem_handle); + Result GetWorkBufferSizeEx(Out<u32> out_size, OpusParametersEx params); + Result OpenHardwareOpusDecoderForMultiStreamEx( + Out<SharedPointer<IHardwareOpusDecoder>> out_decoder, + InLargeData<OpusMultiStreamParametersEx, BufferAttr_HipcPointer> params, u32 tmem_size, + InCopyHandle<Kernel::KTransferMemory> tmem_handle); + Result GetWorkBufferSizeForMultiStreamEx( + Out<u32> out_size, InLargeData<OpusMultiStreamParametersEx, BufferAttr_HipcPointer> params); + Result GetWorkBufferSizeExEx(Out<u32> out_size, OpusParametersEx params); + Result GetWorkBufferSizeForMultiStreamExEx( + Out<u32> out_size, InLargeData<OpusMultiStreamParametersEx, BufferAttr_HipcPointer> params); Core::System& system; AudioCore::OpusDecoder::OpusDecoderManager impl; |