diff options
Diffstat (limited to 'src/audio_core/renderer/command/data_source/pcm_int16.cpp')
-rw-r--r-- | src/audio_core/renderer/command/data_source/pcm_int16.cpp | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/src/audio_core/renderer/command/data_source/pcm_int16.cpp b/src/audio_core/renderer/command/data_source/pcm_int16.cpp index 7a27463e4..c89a5aaac 100644 --- a/src/audio_core/renderer/command/data_source/pcm_int16.cpp +++ b/src/audio_core/renderer/command/data_source/pcm_int16.cpp @@ -3,13 +3,13 @@ #include <span> -#include "audio_core/renderer/adsp/command_list_processor.h" +#include "audio_core/adsp/apps/audio_renderer/command_list_processor.h" #include "audio_core/renderer/command/data_source/decode.h" #include "audio_core/renderer/command/data_source/pcm_int16.h" -namespace AudioCore::AudioRenderer { +namespace AudioCore::Renderer { -void PcmInt16DataSourceVersion1Command::Dump(const ADSP::CommandListProcessor& processor, +void PcmInt16DataSourceVersion1Command::Dump(const AudioRenderer::CommandListProcessor& processor, std::string& string) { string += fmt::format("PcmInt16DataSourceVersion1Command\n\toutput_index {:02X} channel {} " @@ -18,10 +18,17 @@ void PcmInt16DataSourceVersion1Command::Dump(const ADSP::CommandListProcessor& p processor.target_sample_rate, src_quality); } -void PcmInt16DataSourceVersion1Command::Process(const ADSP::CommandListProcessor& processor) { +void PcmInt16DataSourceVersion1Command::Process( + const AudioRenderer::CommandListProcessor& processor) { auto out_buffer = processor.mix_buffers.subspan(output_index * processor.sample_count, processor.sample_count); + for (auto& wave_buffer : wave_buffers) { + wave_buffer.loop_start_offset = wave_buffer.start_offset; + wave_buffer.loop_end_offset = wave_buffer.end_offset; + wave_buffer.loop_count = wave_buffer.loop ? -1 : 0; + } + DecodeFromWaveBuffersArgs args{ .sample_format{SampleFormat::PcmInt16}, .output{out_buffer}, @@ -43,11 +50,12 @@ void PcmInt16DataSourceVersion1Command::Process(const ADSP::CommandListProcessor DecodeFromWaveBuffers(*processor.memory, args); } -bool PcmInt16DataSourceVersion1Command::Verify(const ADSP::CommandListProcessor& processor) { +bool PcmInt16DataSourceVersion1Command::Verify( + const AudioRenderer::CommandListProcessor& processor) { return true; } -void PcmInt16DataSourceVersion2Command::Dump(const ADSP::CommandListProcessor& processor, +void PcmInt16DataSourceVersion2Command::Dump(const AudioRenderer::CommandListProcessor& processor, std::string& string) { string += fmt::format("PcmInt16DataSourceVersion2Command\n\toutput_index {:02X} channel {} " @@ -56,7 +64,8 @@ void PcmInt16DataSourceVersion2Command::Dump(const ADSP::CommandListProcessor& p processor.target_sample_rate, src_quality); } -void PcmInt16DataSourceVersion2Command::Process(const ADSP::CommandListProcessor& processor) { +void PcmInt16DataSourceVersion2Command::Process( + const AudioRenderer::CommandListProcessor& processor) { auto out_buffer = processor.mix_buffers.subspan(output_index * processor.sample_count, processor.sample_count); DecodeFromWaveBuffersArgs args{ @@ -80,8 +89,9 @@ void PcmInt16DataSourceVersion2Command::Process(const ADSP::CommandListProcessor DecodeFromWaveBuffers(*processor.memory, args); } -bool PcmInt16DataSourceVersion2Command::Verify(const ADSP::CommandListProcessor& processor) { +bool PcmInt16DataSourceVersion2Command::Verify( + const AudioRenderer::CommandListProcessor& processor) { return true; } -} // namespace AudioCore::AudioRenderer +} // namespace AudioCore::Renderer |