pulseauio thread now uses pthread_exit to exit if something unexpected happens
it also sets audio.terminate to 1 and writes the error message to a audio.error_message
so it can be printed by main thread after cleanup. this also enables main thread to
cleanup terminal upon unexpected error on audio thread
if(!(s=pa_simple_new(NULL,"cava",PA_STREAM_RECORD,audio->source,"audio for cava",&ss,NULL,&pb,&error))){
fprintf(stderr,__FILE__": Could not open pulseaudio source: %s, %s. To find a list of your pulseaudio sources run 'pacmd list-sources'\n",audio->source,pa_strerror(error));
exit(EXIT_FAILURE);
//fprintf(stderr, __FILE__": Could not open pulseaudio source: %s, %s. To find a list of your pulseaudio sources run 'pacmd list-sources'\n",audio->source, pa_strerror(error));
sprintf(audio->error_message,__FILE__": Could not open pulseaudio source: %s, %s. To find a list of your pulseaudio sources run 'pacmd list-sources'\n",audio->source,pa_strerror(error));