From 0947f613b1f5480258a1bf197ccc7a85a54ab7e1 Mon Sep 17 00:00:00 2001 From: David Marcec Date: Sat, 1 Aug 2020 16:25:08 +1000 Subject: mix buffer depopping --- src/audio_core/command_generator.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/audio_core/command_generator.h') diff --git a/src/audio_core/command_generator.h b/src/audio_core/command_generator.h index 3f49c1303..656ad8143 100644 --- a/src/audio_core/command_generator.h +++ b/src/audio_core/command_generator.h @@ -43,6 +43,8 @@ public: const s32* GetMixBuffer(std::size_t index) const; std::size_t GetMixChannelBufferOffset(s32 channel) const; + std::size_t GetTotalMixBufferCount() const; + private: void GenerateDataSourceCommand(ServerVoiceInfo& voice_info, VoiceState& dsp_state, s32 channel); void GenerateBiquadFilterCommandForVoice(ServerVoiceInfo& voice_info, VoiceState& dsp_state, @@ -61,7 +63,10 @@ private: void GenerateBiquadFilterCommand(s32 mix_buffer, const BiquadFilterParameter& params, std::array& state, std::size_t input_offset, std::size_t output_offset, s32 sample_count, s32 node_id); - void GenerateDepopPrepareCommand(VoiceState& dsp_state); + void GenerateDepopPrepareCommand(VoiceState& dsp_state, std::size_t mix_buffer_count, + std::size_t mix_buffer_offset); + void GenerateDepopForMixBuffersCommand(std::size_t mix_buffer_count, + std::size_t mix_buffer_offset, s32 sample_rate); ServerSplitterDestinationData* GetDestinationData(s32 splitter_id, s32 index); // DSP Code @@ -79,6 +84,7 @@ private: Core::Memory::Memory& memory; std::vector mix_buffer{}; std::vector sample_buffer{}; + std::vector depop_buffer{}; bool dumping_frame{false}; }; } // namespace AudioCore -- cgit v1.2.3