sprintf(value,"%d",rx->audio_device);
setProperty(name,value);
+ sprintf(name,"receiver.%d.low_latency",rx->id);
+ sprintf(value,"%d",rx->low_latency);
+ setProperty(name,value);
}
void receiver_restore_state(RECEIVER *rx) {
sprintf(name,"receiver.%d.audio_device",rx->id);
value=getProperty(name);
if(value) rx->audio_device=atoi(value);
+ sprintf(name,"receiver.%d.low_latency",rx->id);
+ value=getProperty(name);
+ if(value) rx->low_latency=atoi(value);
}
void reconfigure_receiver(RECEIVER *rx,int height) {
rx->audio_channel=STEREO;
rx->audio_device=-1;
+ rx->low_latency=0;
+
receiver_restore_state(rx);
int scale=rx->sample_rate/48000;
set_filter(rx,band_filter->low,band_filter->high);
RXASetNC(rx->id, rx->fft_size);
+ RXASetMP(rx->id, rx->low_latency);
SetRXAFMDeviation(rx->id,(double)deviation);
int playback_offset;
unsigned char *playback_buffer;
+ int low_latency;
+
} RECEIVER;
extern RECEIVER *create_receiver(int id, int buffer_size, int fft_size, int pixels, int fps, int width, int height);
sprintf(value,"%d",tx->input_device);
setProperty(name,value);
+ sprintf(name,"transmitter.%d.low_latency",tx->id);
+ sprintf(value,"%d",tx->low_latency);
+ setProperty(name,value);
}
void transmitter_restore_state(TRANSMITTER *tx) {
sprintf(name,"transmitter.%d.input_device",tx->id);
value=getProperty(name);
if(value) tx->input_device=atoi(value);
+ sprintf(name,"transmitter.%d.low_latency",tx->id);
+ value=getProperty(name);
+ if(value) tx->low_latency=atoi(value);
}
static gint update_display(gpointer data) {
tx->out_of_band=0;
+ tx->low_latency=0;
+
transmitter_restore_state(tx);
if(split) {
0, // run
0.010, 0.025, 0.0, 0.010, 0);
+ TXASetNC(tx->id, tx->fft_size);
+ TXASetMP(tx->id, tx->low_latency);
+
SetTXAMode(tx->id, tx->mode);
tx_set_filter(tx,tx_filter_low,tx_filter_high);
SetTXABandpassWindow(tx->id, 1);
int out_of_band;
gint out_of_band_timer_id;
+ int low_latency;
+
} TRANSMITTER;
extern TRANSMITTER *create_transmitter(int id, int buffer_size, int fft_size, int fps, int width, int height);