}
g_print("audio_open_input: allocating ring buffer\n");
- mic_ring_buffer=(float *) malloc(MICRINGLEN * sizeof(float));
+ mic_ring_buffer=(float *) g_new(float,MICRINGLEN);
mic_ring_read_pt = mic_ring_write_pt=0;
if (mic_ring_buffer == NULL) {
return -1;
// input devices
snd_pcm_info_set_stream(pcminfo, SND_PCM_STREAM_CAPTURE);
if ((err = snd_ctl_pcm_info(handle, pcminfo)) == 0) {
- device_id=malloc(128);
+ device_id=g_new(char,128);
snprintf(device_id, 128, "plughw:%d,%d %s", card, dev, snd_ctl_card_info_get_name(info));
if(n_input_devices<MAX_AUDIO_DEVICES) {
input_devices[n_input_devices].name=g_new0(char,strlen(device_id)+1);
n_input_devices++;
g_print("input_device: %s\n",device_id);
}
+ g_free(device_id);
}
// ouput devices
snd_pcm_info_set_stream(pcminfo, SND_PCM_STREAM_PLAYBACK);
if ((err = snd_ctl_pcm_info(handle, pcminfo)) == 0) {
- device_id=malloc(128);
+ device_id=g_new(char,128);
snprintf(device_id, 128, "plughw:%d,%d %s", card, dev, snd_ctl_card_info_get_name(info));
if(n_output_devices<MAX_AUDIO_DEVICES) {
output_devices[n_output_devices].name=g_new0(char,strlen(device_id)+1);
n_output_devices++;
g_print("output_device: %s\n",device_id);
}
+ g_free(device_id);
}
}
snd_ctl_close(handle);
extern void setTune(int state);
extern int getTune();
-extern void new_protocol_process_local_mic(float sample);
extern void new_protocol_audio_samples(RECEIVER *rx,short left_audio_sample,short right_audio_sample);
extern void new_protocol_iq_samples(int isample,int qsample);
extern void new_protocol_flush_iq_samples();
extern void old_protocol_init(int rx,int pixels,int rate);
extern void old_protocol_set_mic_sample_rate(int rate);
-extern void old_protocol_process_local_mic(float sample);
extern void old_protocol_audio_samples(RECEIVER *rx,short left_audio_sample,short right_audio_sample);
extern void old_protocol_iq_samples(int isample,int qsample);
extern void old_protocol_iq_samples_with_sidetone(int isample,int qsample,int side);
return -1;
}
- mic_ring_buffer=(float *) malloc(MICRINGLEN * sizeof(float));
+ mic_ring_buffer=(float *) g_new(float,MICRINGLEN);
mic_ring_read_pt = mic_ring_write_pt=0;
if (mic_ring_buffer == NULL) {
return -1;
if (in == NULL) {
// This should not happen, so we do not send silence etc.
- g_print("PortAudio error: bogus audio buffer in callback\n");
+ fprintf(stderr,"PortAudio error: bogus audio buffer in callback\n");
return paContinue;
}
//
// Do not use call-back function, just stream it
- rx->local_audio_buffer=malloc(BUFFER_SIZE*sizeof(float));
+ rx->local_audio_buffer=g_new(float,BUFFER_SIZE);
rx->local_audio_buffer_offset=0;
err = Pa_OpenStream(&(rx->playback_handle), NULL, &outputParameters, 48000.0, framesPerBuffer, paNoFlag, NULL, NULL);
if (err != paNoError) {
fprintf(stderr,"PORTAUDIO ERROR: out open stream: %s\n",Pa_GetErrorText(err));
rx->playback_handle = NULL;
- if (rx->local_audio_buffer) free(rx->local_audio_buffer);
+ if (rx->local_audio_buffer) g_free(rx->local_audio_buffer);
rx->local_audio_buffer = NULL;
return -1;
}
if (err != paNoError) {
fprintf(stderr,"PORTAUDIO ERROR: out start stream:%s\n",Pa_GetErrorText(err));
rx->playback_handle=NULL;
- if (rx->local_audio_buffer) free(rx->local_audio_buffer);
+ if (rx->local_audio_buffer) g_free(rx->local_audio_buffer);
rx->local_audio_buffer = NULL;
return -1;
}
record_handle=NULL;
}
if (mic_ring_buffer != NULL) {
- free(mic_ring_buffer);
+ g_free(mic_ring_buffer);
mic_ring_buffer=NULL;
}
}
// free the buffer first, this then indicates to audio_write to do nothing
if(rx->local_audio_buffer!=NULL) {
- free(rx->local_audio_buffer);
+ g_free(rx->local_audio_buffer);
rx->local_audio_buffer=NULL;
}