--- 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);
};