Browse Source

NativeBridge: replace Mutex with RecursiveMutex

Signed-off-by: falkTX <falktx@falktx.com>
pull/506/head
falkTX 5 months ago
parent
commit
aff8ba4980
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
2 changed files with 5 additions and 5 deletions
  1. +4
    -4
      distrho/src/jackbridge/NativeBridge.hpp
  2. +1
    -1
      distrho/src/jackbridge/RtAudioBridge.hpp

+ 4
- 4
distrho/src/jackbridge/NativeBridge.hpp View File

@@ -35,8 +35,8 @@
#endif

using DISTRHO_NAMESPACE::HeapRingBuffer;
using DISTRHO_NAMESPACE::Mutex;
using DISTRHO_NAMESPACE::MutexLocker;
using DISTRHO_NAMESPACE::RecursiveMutex;
using DISTRHO_NAMESPACE::RecursiveMutexLocker;

struct NativeBridge {
// Current status information
@@ -81,7 +81,7 @@ struct NativeBridge {
HeapRingBuffer midiInBufferCurrent;
HeapRingBuffer midiInBufferPending;
#endif
Mutex midiInLock;
RecursiveMutex midiInLock;
#if DISTRHO_PLUGIN_WANT_MIDI_OUTPUT
HeapRingBuffer midiOutBuffer;
#endif
@@ -163,7 +163,7 @@ struct NativeBridge {
{
// NOTE: this function is only called once per run
{
const MutexLocker cml(midiInLock);
const RecursiveMutexLocker cml(midiInLock);
midiInBufferCurrent.copyFromAndClearOther(midiInBufferPending);
}
return midiInBufferCurrent.getReadableDataSize() / kRingBufferMessageSize;


+ 1
- 1
distrho/src/jackbridge/RtAudioBridge.hpp View File

@@ -425,7 +425,7 @@ struct RtAudioBridge : NativeBridge {

RtAudioBridge* const self = static_cast<RtAudioBridge*>(userData);

const MutexLocker cml(self->midiInLock);
const RecursiveMutexLocker rml(self->midiInLock);

self->midiInBufferPending.writeByte(static_cast<uint8_t>(len));
// TODO timestamp


Loading…
Cancel
Save