From 25ddb1f3471e2d7fcdde5043d89e88131c95f37a Mon Sep 17 00:00:00 2001 From: Johannes Lorenz Date: Sun, 23 Mar 2025 22:46:40 +0100 Subject: [PATCH] Make "m_inputFrameBuffer" a vector --- include/AudioJack.h | 2 +- src/core/audio/AudioJack.cpp | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/include/AudioJack.h b/include/AudioJack.h index 19972da9f..2875084c5 100644 --- a/include/AudioJack.h +++ b/include/AudioJack.h @@ -119,7 +119,7 @@ private: std::vector m_outputPorts; std::vector m_inputPorts; jack_default_audio_sample_t** m_tempOutBufs; - jack_default_audio_sample_t* m_inputFrameBuffer; + std::vector m_inputFrameBuffer; SampleFrame* m_outBuf; SampleFrame* m_inBuf; diff --git a/src/core/audio/AudioJack.cpp b/src/core/audio/AudioJack.cpp index eea1f69af..ab8df9ee5 100644 --- a/src/core/audio/AudioJack.cpp +++ b/src/core/audio/AudioJack.cpp @@ -158,7 +158,7 @@ bool AudioJack::initJackClient() clientName.toLatin1().constData(), jack_get_client_name(m_client)); } - m_inputFrameBuffer = new jack_default_audio_sample_t[channels() * jack_get_buffer_size(m_client)]; + m_inputFrameBuffer.resize(channels() * jack_get_buffer_size(m_client)); jack_set_buffer_size_callback(m_client, setBufferSizeCallback, this); @@ -301,8 +301,7 @@ void AudioJack::renamePort(AudioBusHandle* port) int AudioJack::setBufferSizeCallback(jack_nframes_t nframes, void* udata) { auto thisClass = static_cast(udata); - delete[] thisClass->m_inputFrameBuffer; - thisClass->m_inputFrameBuffer = new jack_default_audio_sample_t[thisClass->channels() * nframes]; + thisClass->m_inputFrameBuffer.resize(thisClass->channels() * nframes); return 0; } @@ -383,7 +382,7 @@ int AudioJack::processCallback(jack_nframes_t nframes) m_inputFrameBuffer[frame * channels() + c] = jack_input_buffer[frame]; } } - audioEngine()->pushInputFrames ((SampleFrame*) m_inputFrameBuffer, nframes); + audioEngine()->pushInputFrames ((SampleFrame*) m_inputFrameBuffer.data(), nframes); return 0; }