# HG changeset patch # User František Kučera # Date 1602430913 -7200 # Node ID e0627da77dadc483e2f69c38cf58016cfbde4974 # Parent 427b8d799a4a449e19b075c8907bda2ee2ff81fc correct types in MidiMessage + do not copy data if jack_midi_event_reserve() failed diff -r 427b8d799a4a -r e0627da77dad src/JackHandler.h --- a/src/JackHandler.h Wed Oct 07 23:10:28 2020 +0200 +++ b/src/JackHandler.h Sun Oct 11 17:41:53 2020 +0200 @@ -57,8 +57,8 @@ */ struct MidiMessage { uint8_t buffer[4096] = {0}; - uint32_t size; - uint32_t time; + size_t size; + jack_nframes_t time; }; /** @@ -84,7 +84,8 @@ MidiMessage m; jack_ringbuffer_read(ringBuffer, (char*) &m, sizeof (MidiMessage)); jack_midi_data_t* midiData = jack_midi_event_reserve(jackPortBuffer, m.time, m.size); - memcpy(midiData, m.buffer, m.size); + if (midiData) memcpy(midiData, m.buffer, m.size); + else /* error: not enough space TODO: store and send later */; } if (pthread_mutex_trylock(&processingLock) == 0) {