]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
Added a mutex for CW 'local' audio output, such that
authorc vw <dl1ycf@darc.de>
Tue, 21 Apr 2020 12:11:15 +0000 (14:11 +0200)
committerc vw <dl1ycf@darc.de>
Tue, 21 Apr 2020 12:11:15 +0000 (14:11 +0200)
audio_write and cw_audio_write are mutally exclusive.

portaudio.c

index 2ed083cff8fe406ed547eafb7b14a4e4f7ead193..c9c77dffb9b7e10adf9e7889ab5e847e99059fe5 100644 (file)
@@ -458,6 +458,7 @@ int cw_audio_write(float sample) {
   RECEIVER *rx = active_receiver;
   float *buffer = rx->local_audio_buffer;
 
+  g_mutex_lock(&rx->local_audio_mutex);
   if (rx->playback_handle != NULL && rx->local_audio_buffer != NULL) {
     buffer[rx->local_audio_buffer_offset++] = sample;
     if (rx->local_audio_buffer_offset == MY_AUDIO_BUFFER_SIZE) {
@@ -466,6 +467,7 @@ int cw_audio_write(float sample) {
       rx->local_audio_buffer_offset=0;
     }
   }
+  g_mutex_unlock(&rx->local_audio_mutex);
   return 0;
 }