Blob Blame History Raw
--- ZynAddSubFX-2.2.1/src/Output/JACKaudiooutput.C~	2007-10-10 15:12:05.000000000 -0400
+++ ZynAddSubFX-2.2.1/src/Output/JACKaudiooutput.C	2007-10-10 15:17:59.047476392 -0400
@@ -77,9 +77,14 @@
     jack_default_audio_sample_t *outl=(jack_default_audio_sample_t *) jack_port_get_buffer (outport_left, nframes);
     jack_default_audio_sample_t *outr=(jack_default_audio_sample_t *) jack_port_get_buffer (outport_right, nframes);
 
-    pthread_mutex_lock(&jackmaster->mutex);
-    jackmaster->GetAudioOutSamples(nframes,jack_get_sample_rate(jackclient),outl,outr);
-    pthread_mutex_unlock(&jackmaster->mutex);
+    if (!pthread_mutex_trylock(&jackmaster->mutex)) {
+      jackmaster->GetAudioOutSamples(nframes,jack_get_sample_rate(jackclient),outl,outr);
+      pthread_mutex_unlock(&jackmaster->mutex);
+    }
+    else {
+      memset(outl, 0, sizeof(jack_default_audio_sample_t) * nframes);
+      memset(outr, 0, sizeof(jack_default_audio_sample_t) * nframes);
+    }
     
     return(0);
 };