// Note that when sending the buffer, delay "jumps" by the buffer size
//
-int cw_audio_write(float sample){
+int cw_audio_write(RECEIVER *rx, float sample){
snd_pcm_sframes_t delay;
long rc;
float *float_buffer;
static int count=0;
int short_audio_buffer_size;
- RECEIVER *rx = active_receiver;
-
g_mutex_lock(&rx->local_audio_mutex);
if(rx->playback_handle!=NULL && rx->local_audio_buffer!=NULL) {
extern int audio_open_output(RECEIVER *rx);
extern void audio_close_output(RECEIVER *rx);
extern int audio_write(RECEIVER *rx,float left_sample,float right_sample);
-extern int cw_audio_write(float sample);
+extern int cw_audio_write(RECEIVER *rx, float sample);
extern void audio_get_cards();
char * audio_get_error_string(int err);
float audio_get_next_mic_sample();
//
// Thus we have an active latency management.
//
-int cw_audio_write(float sample) {
- RECEIVER *rx = active_receiver;
+int cw_audio_write(RECEIVER *rx, float sample) {
float *buffer = rx->local_audio_buffer;
int oldpt, newpt;
static int count=0;
// side tone
ramp=cwramp48[cw_shape];
cwsample=0.00197 * getNextSideToneSample() * cw_keyer_sidetone_volume * ramp;
- cw_audio_write(cwsample);
+ cw_audio_write(active_receiver, cwsample);
cw_shape_buffer48[tx->samples]=ramp;
//
// In the new protocol, we MUST maintain a constant flow of audio samples to the radio