diff options
author | Max Kellermann <max@duempel.org> | 2008-10-29 22:17:44 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2008-10-29 22:17:44 +0100 |
commit | 0eae1c55adefc3e7509b2ef40f4da8baa3fe24ef (patch) | |
tree | 0d1c479cf14196441af2336d278ed0d306027b96 /src | |
parent | 678314534a08dbcbc1c642446f1af899a2108b57 (diff) | |
download | mpd-0eae1c55adefc3e7509b2ef40f4da8baa3fe24ef.tar.gz mpd-0eae1c55adefc3e7509b2ef40f4da8baa3fe24ef.tar.xz mpd-0eae1c55adefc3e7509b2ef40f4da8baa3fe24ef.zip |
output: moved code to audio_output_update()
Moved code from syncAudioDeviceStates() to audio_output_update().
Diffstat (limited to 'src')
-rw-r--r-- | src/audio.c | 10 | ||||
-rw-r--r-- | src/output_control.c | 10 | ||||
-rw-r--r-- | 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 @@ -90,6 +90,16 @@ audio_output_open(struct audio_output *audioOutput, } 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) { notify_signal(&ao->notify); 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 @@ -36,6 +36,13 @@ 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 * fixed. XXX |