summaryrefslogtreecommitdiff
path: root/src/audio_core/audio_renderer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio_core/audio_renderer.h')
-rw-r--r--src/audio_core/audio_renderer.h78
1 files changed, 0 insertions, 78 deletions
diff --git a/src/audio_core/audio_renderer.h b/src/audio_core/audio_renderer.h
deleted file mode 100644
index a67ffd592..000000000
--- a/src/audio_core/audio_renderer.h
+++ /dev/null
@@ -1,78 +0,0 @@
1// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later
3
4#pragma once
5
6#include <array>
7#include <memory>
8#include <mutex>
9#include <vector>
10
11#include "audio_core/behavior_info.h"
12#include "audio_core/command_generator.h"
13#include "audio_core/common.h"
14#include "audio_core/effect_context.h"
15#include "audio_core/memory_pool.h"
16#include "audio_core/mix_context.h"
17#include "audio_core/sink_context.h"
18#include "audio_core/splitter_context.h"
19#include "audio_core/stream.h"
20#include "audio_core/voice_context.h"
21#include "common/common_funcs.h"
22#include "common/common_types.h"
23#include "common/swap.h"
24#include "core/hle/result.h"
25
26namespace Core::Timing {
27class CoreTiming;
28}
29
30namespace Core::Memory {
31class Memory;
32}
33
34namespace AudioCore {
35using DSPStateHolder = std::array<VoiceState*, AudioCommon::MAX_CHANNEL_COUNT>;
36
37class AudioOut;
38
39class AudioRenderer {
40public:
41 AudioRenderer(Core::Timing::CoreTiming& core_timing, Core::Memory::Memory& memory_,
42 AudioCommon::AudioRendererParameter params,
43 Stream::ReleaseCallback&& release_callback, std::size_t instance_number);
44 ~AudioRenderer();
45
46 [[nodiscard]] Result UpdateAudioRenderer(const std::vector<u8>& input_params,
47 std::vector<u8>& output_params);
48 [[nodiscard]] Result Start();
49 [[nodiscard]] Result Stop();
50 void QueueMixedBuffer(Buffer::Tag tag);
51 void ReleaseAndQueueBuffers();
52 [[nodiscard]] u32 GetSampleRate() const;
53 [[nodiscard]] u32 GetSampleCount() const;
54 [[nodiscard]] u32 GetMixBufferCount() const;
55 [[nodiscard]] Stream::State GetStreamState() const;
56
57private:
58 BehaviorInfo behavior_info{};
59
60 AudioCommon::AudioRendererParameter worker_params;
61 std::vector<ServerMemoryPoolInfo> memory_pool_info;
62 VoiceContext voice_context;
63 EffectContext effect_context;
64 MixContext mix_context;
65 SinkContext sink_context;
66 SplitterContext splitter_context;
67 std::vector<VoiceState> voices;
68 std::unique_ptr<AudioOut> audio_out;
69 StreamPtr stream;
70 Core::Memory::Memory& memory;
71 CommandGenerator command_generator;
72 std::size_t elapsed_frame_count{};
73 Core::Timing::CoreTiming& core_timing;
74 std::shared_ptr<Core::Timing::EventType> process_event;
75 std::mutex mutex;
76};
77
78} // namespace AudioCore