diff --git a/distrho/src/jackbridge/JackBridge.cpp b/distrho/src/jackbridge/JackBridge.cpp index c5f6aea6..0ff70fe6 100644 --- a/distrho/src/jackbridge/JackBridge.cpp +++ b/distrho/src/jackbridge/JackBridge.cpp @@ -2036,6 +2036,7 @@ uint32_t jackbridge_transport_query(const jack_client_t* client, jack_position_t if (pos != nullptr) { // invalidate + std::memset(pos, 0, sizeof(*pos)); pos->unique_1 = 0; pos->unique_2 = 1; } diff --git a/distrho/src/jackbridge/RtAudioBridge.hpp b/distrho/src/jackbridge/RtAudioBridge.hpp index 3d4f0ff2..de8972a6 100644 --- a/distrho/src/jackbridge/RtAudioBridge.hpp +++ b/distrho/src/jackbridge/RtAudioBridge.hpp @@ -177,7 +177,8 @@ struct RtAudioBridge { if (self->jackProcessCallback == nullptr) { - std::memset((float*)outputBuffer, 0, sizeof(float)*numFrames*DISTRHO_PLUGIN_NUM_OUTPUTS); + if (outputBuffer != nullptr) + std::memset((float*)outputBuffer, 0, sizeof(float)*numFrames*DISTRHO_PLUGIN_NUM_OUTPUTS); return 0; } @@ -186,14 +187,18 @@ struct RtAudioBridge { uint i = 0; # if DISTRHO_PLUGIN_NUM_INPUTS > 0 - float* const insPtr = (float*)inputBuffer; - for (uint j=0; j 0 - float* const outsPtr = (float*)outputBuffer; - for (uint j=0; j