#include <pulse/error.h>
#include "audio.h"
+#include "radio.h"
int audio = 0;
int audio_buffer_size = 2016; // samples (both left and right)
for(i=0;i<samples;i++) {
int source_index=i*2;
- short left_sample=(short)(buffer[source_index]*32768.0);
- short right_sample=(short)(buffer[source_index+1]*32768.0);
+ short left_sample=(short)(buffer[source_index]*32767.0*volume);
+ short right_sample=(short)(buffer[source_index+1]*32767.0*volume);
audio_buffer[audio_offset++]=left_sample>>8;
audio_buffer[audio_offset++]=left_sample;
audio_buffer[audio_offset++]=right_sample>>8;
if(error!=0) {
fprintf(stderr,"fexchange2 (CHANNEL_RX0) returned error: %d\n", error);
}
- if(local_audio) {
- audio_write(audiooutputbuffer,output_buffer_size);
- }
Spectrum0(1, CHANNEL_RX0, 0, 0, iqinputbuffer);
if(demod_samples!=0) {
int s;
int t;
+ if(local_audio) {
+ audio_write(audiooutputbuffer,demod_samples);
+ }
for(s=0;s<demod_samples;s++) {
for(t=0;t<6;t++) { // 8k to 48k
if(freedv_sync) {
fprintf(stderr,"fexchange2 (CHANNEL_RX0) returned error: %d\n", error);
}
Spectrum0(1, CHANNEL_RX0, 0, 0, iqinputbuffer);
+ if(local_audio) {
+ audio_write(audiooutputbuffer,output_buffer_size);
+ }
for(j=0;j<output_buffer_size;j++) {
left_rx_sample=(short)(audiooutputbuffer[j*2]*32767.0*volume);
right_rx_sample=(short)(audiooutputbuffer[(j*2)+1]*32767.0*volume);