0
1
mirror of https://github.com/radio95-rnt/fm95.git synced 2026-02-27 03:23:54 +01:00

add error checking

This commit is contained in:
2025-01-31 17:09:50 +01:00
parent c7e71d22e4
commit 2557c19b2e

View File

@@ -382,10 +382,24 @@ int main(int argc, char **argv) {
snd_pcm_hw_params_any(output_handle, output_params);
snd_pcm_hw_params_set_access(output_handle, output_params, SND_PCM_ACCESS_RW_INTERLEAVED);
snd_pcm_hw_params_set_format(output_handle, output_params, SND_PCM_FORMAT_FLOAT); // Same as pulse's Float32NE
snd_pcm_hw_params_set_channels(output_handle, output_params, 1);
output_error = snd_pcm_hw_params_set_channels(output_handle, output_params, 1);
if(output_error < 0) {
fprintf(stderr, "Error: cannot open output device (channel setting): %s\n", snd_strerror(output_error));
pa_simple_free(input_device);
if(strlen(audio_mpx_device) != 0) pa_simple_free(mpx_device);
if(strlen(audio_sca_device) != 0) pa_simple_free(sca_device);
return 1;
}
unsigned int rate = SAMPLE_RATE;
int dir;
snd_pcm_hw_params_set_rate_near(output_handle, output_params, &rate, &dir);
output_error = snd_pcm_hw_params_set_rate_near(output_handle, output_params, &rate, &dir);
if(output_error < 0) {
fprintf(stderr, "Error: cannot open output device (rate setting): %s\n", snd_strerror(output_error));
pa_simple_free(input_device);
if(strlen(audio_mpx_device) != 0) pa_simple_free(mpx_device);
if(strlen(audio_sca_device) != 0) pa_simple_free(sca_device);
return 1;
}
snd_pcm_uframes_t frames = BUFFER_SIZE;
snd_pcm_hw_params_set_period_size_near(output_handle, output_params, &frames, &dir); // i don't have a clue why like this
output_error = snd_pcm_hw_params(output_handle, output_params);