From 0eae1c55adefc3e7509b2ef40f4da8baa3fe24ef Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 29 Oct 2008 22:17:44 +0100 Subject: output: moved code to audio_output_update() Moved code from syncAudioDeviceStates() to audio_output_update(). --- src/audio.c | 10 ++-------- src/output_control.c | 10 ++++++++++ src/output_control.h | 7 +++++++ 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/audio.c b/src/audio.c index 5eebc02dd..3d4cf1a48 100644 --- a/src/audio.c +++ b/src/audio.c @@ -214,19 +214,13 @@ static void audio_output_wait_all(void) static void syncAudioDeviceStates(void) { - struct audio_output *audioOutput; unsigned int i; if (!audio_format_defined(&input_audio_format)) return; - for (i = 0; i < audioOutputArraySize; ++i) { - audioOutput = &audioOutputArray[i]; - if (audioOutput->enabled) - audio_output_open(audioOutput, &input_audio_format); - else if (audio_output_is_open(audioOutput)) - audio_output_close(audioOutput); - } + for (i = 0; i < audioOutputArraySize; ++i) + audio_output_update(&audioOutputArray[i], &input_audio_format); } bool playAudio(const char *buffer, size_t length) diff --git a/src/output_control.c b/src/output_control.c index 9193e92eb..142ac765e 100644 --- a/src/output_control.c +++ b/src/output_control.c @@ -89,6 +89,16 @@ audio_output_open(struct audio_output *audioOutput, return ret; } +void +audio_output_update(struct audio_output *ao, + const struct audio_format *audio_format) +{ + if (ao->enabled) + audio_output_open(ao, audio_format); + else if (audio_output_is_open(ao)) + audio_output_close(ao); +} + void audio_output_signal(struct audio_output *ao) { diff --git a/src/output_control.h b/src/output_control.h index b2b9a6c64..62e88eb0f 100644 --- a/src/output_control.h +++ b/src/output_control.h @@ -35,6 +35,13 @@ bool audio_output_open(struct audio_output *audioOutput, const struct audio_format *audioFormat); +/** + * Opens or closes the device, depending on the "enabled" flag. + */ +void +audio_output_update(struct audio_output *ao, + const struct audio_format *audio_format); + /** * Wakes up the audio output thread. This is part of a workaround for * a deadlock bug, and should be removed as soon as the real cause is -- cgit v1.2.3