// Write one buffer to avoid under-flow errors
// (this gives us 5 msec to pass before we have to call audio_write the first time)
bzero(rx->local_audio_buffer, (size_t) audio_buffer_size*sizeof(float));
- err=Pa_WriteStream(rx->playback_handle, (void *) rx->local_audio_buffer, (unsigned long) audio_buffer_size);
+ err=Pa_WriteStream(rx->playback_handle, rx->local_audio_buffer, (unsigned long) audio_buffer_size);
return 0;
}
{
PaError err;
int mode=transmitter->mode;
+ float *buffer = rx->local_audio_buffer;
//
// We have to stop the stream here if a CW side tone may occur.
// This might cause underflows, but we cannot use audio_write
if (rx == active_receiver && isTransmitting() && (mode==modeCWU || mode==modeCWL)) return 0;
if (rx->playback_handle != NULL && rx->local_audio_buffer != NULL) {
- rx->local_audio_buffer[rx->local_audio_buffer_offset++] = (left+right)*0.5; // mix to MONO
+ buffer[rx->local_audio_buffer_offset++] = (left+right)*0.5; // mix to MONO
if (rx->local_audio_buffer_offset == audio_buffer_size) {
- err=Pa_WriteStream(rx->playback_handle, (void *) rx->local_audio_buffer, (unsigned long) audio_buffer_size);
+ err=Pa_WriteStream(rx->playback_handle, rx->local_audio_buffer, (unsigned long) audio_buffer_size);
rx->local_audio_buffer_offset=0;
// do not check on errors, there will be underflows every now and then
}
int cw_audio_write(float sample) {
PaError err;
RECEIVER *rx = active_receiver;
+ float *buffer = rx->local_audio_buffer;
if (rx->playback_handle != NULL && rx->local_audio_buffer != NULL) {
- rx->local_audio_buffer[rx->local_audio_buffer_offset++] = sample;
+ buffer[rx->local_audio_buffer_offset++] = sample;
if (rx->local_audio_buffer_offset == audio_buffer_size) {
- err=Pa_WriteStream(rx->playback_handle, (void *) rx->local_audio_buffer, (unsigned long) audio_buffer_size);
+ err=Pa_WriteStream(rx->playback_handle, rx->local_audio_buffer, (unsigned long) audio_buffer_size);
// do not check on errors, there will be underflows every now and then
rx->local_audio_buffer_offset=0;
}
// display only the central part.
//
if (protocol == ORIGINAL_PROTOCOL) {
- rx->pixels=(sample_rate/48000) * width;
+ rx->pixels=(sample_rate/24000) * width;
} else {
- rx->pixels = 4*width;
+ // sample rate of feedback is TX sample rate is 192000
+ rx->pixels = 8*width;
}
}
// allocate buffers
if (rx->id == PS_RX_FEEDBACK) {
float *fp, *ofp;
if (protocol == ORIGINAL_PROTOCOL) {
- rx->pixels = scale * rx->width;
+ rx->pixels = 2* scale * rx->width;
} else {
// We should never arrive here, since the sample rate of the
// PS feedback receiver is fixed.
- rx->pixels = 4 * rx->width;
+ rx->pixels = 8 * rx->width;
}
// make sure pixel_samples is always a valid pointer
// ... probably pure DL1YCF's paranoia