From 8bc2288dfe87844fda4ec45de5781a12e17a3c77 Mon Sep 17 00:00:00 2001 From: jp9000 Date: Fri, 20 Feb 2015 21:49:51 -0800 Subject: [PATCH] mac-capture: Separate audio shudown code This allows the code to be used elsewhere as needed. --- plugins/mac-capture/mac-audio.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/plugins/mac-capture/mac-audio.c b/plugins/mac-capture/mac-audio.c index afeaa79c8..08c9b2429 100644 --- a/plugins/mac-capture/mac-audio.c +++ b/plugins/mac-capture/mac-audio.c @@ -643,20 +643,26 @@ static const char *coreaudio_output_getname(void) return TEXT_AUDIO_OUTPUT; } +static void coreaudio_shutdown(struct coreaudio_data *ca) +{ + if (ca->reconnecting) { + os_event_signal(ca->exit_event); + pthread_join(ca->reconnect_thread, NULL); + os_event_reset(ca->exit_event); + } + + coreaudio_uninit(ca); + + if (ca->unit) + AudioComponentInstanceDispose(ca->unit); +} + static void coreaudio_destroy(void *data) { struct coreaudio_data *ca = data; if (ca) { - if (ca->reconnecting) { - os_event_signal(ca->exit_event); - pthread_join(ca->reconnect_thread, NULL); - } - - coreaudio_uninit(ca); - - if (ca->unit) - AudioComponentInstanceDispose(ca->unit); + coreaudio_shutdown(ca); os_event_destroy(ca->exit_event); bfree(ca->device_name);