diff options
| author | Kelebek1 <eeeedddccc@hotmail.co.uk> | 2023-05-23 14:45:54 +0100 |
|---|---|---|
| committer | Kelebek1 <eeeedddccc@hotmail.co.uk> | 2023-06-22 08:05:10 +0100 |
| commit | 5da70f719703084482933e103e561cc98163f370 (patch) | |
| tree | 1926842ed2b90bf92b89cec6a314bb28c7287fe9 /src/audio_core/renderer/command/sink/device.cpp | |
| parent | e3122c5b468fd59b7eded5a3a7300643d05616bc (diff) | |
Remove memory allocations in some hot paths
Diffstat (limited to 'src/audio_core/renderer/command/sink/device.cpp')
| -rw-r--r-- | src/audio_core/renderer/command/sink/device.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/audio_core/renderer/command/sink/device.cpp b/src/audio_core/renderer/command/sink/device.cpp index e88372a75..5f74dd7ad 100644 --- a/src/audio_core/renderer/command/sink/device.cpp +++ b/src/audio_core/renderer/command/sink/device.cpp @@ -33,8 +33,7 @@ void DeviceSinkCommand::Process(const ADSP::CommandListProcessor& processor) { .consumed{false}, }; - std::vector<s16> samples(out_buffer.frames * input_count); - + std::array<s16, TargetSampleCount * MaxChannels> samples{}; for (u32 channel = 0; channel < input_count; channel++) { const auto offset{inputs[channel] * out_buffer.frames}; @@ -45,7 +44,7 @@ void DeviceSinkCommand::Process(const ADSP::CommandListProcessor& processor) { } out_buffer.tag = reinterpret_cast<u64>(samples.data()); - stream->AppendBuffer(out_buffer, samples); + stream->AppendBuffer(out_buffer, {samples.data(), out_buffer.frames * input_count}); if (stream->IsPaused()) { stream->Start(); |
