static int coreaudio_play (void) { if (coreaudio_init() < 0) return -1; OSStatus err = AudioOutputUnitStart (output_unit); if (err) { trace ("AudioOutputUnitStart= %s\n", GetMacOSStatusErrorString(err)); return -1; } state = OUTPUT_STATE_PLAYING; return 0; }
static void *reconnect_thread(void *param) { struct coreaudio_data *ca = param; ca->reconnecting = true; while (os_event_timedwait(ca->exit_event, ca->retry_time) == ETIMEDOUT) { if (coreaudio_init(ca)) break; } blog(LOG_DEBUG, "coreaudio: exit the reconnect thread"); ca->reconnecting = false; return NULL; }