From fd2ae556a241c40974ad34eb18556adc0f2f5977 Mon Sep 17 00:00:00 2001 From: Warren Dukes Date: Wed, 20 Oct 2004 17:11:04 +0000 Subject: some small cleanups git-svn-id: https://svn.musicpd.org/mpd/trunk@2280 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- src/audio.c | 18 ++++-------------- src/audioOutput.c | 5 ++++- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/src/audio.c b/src/audio.c index 77fe9c25b..446eff40e 100644 --- a/src/audio.c +++ b/src/audio.c @@ -136,18 +136,15 @@ void finishAudioDriver() { } int isCurrentAudioFormat(AudioFormat * audioFormat) { - if(!aoOutput || !audioFormat) return 0; + if(!audioFormat) return 0; if(memcmp(audioFormat,&audio_format,sizeof(AudioFormat)) != 0) return 0; + return 1; } int openAudioDevice(AudioFormat * audioFormat) { - if(aoOutput->open && !isCurrentAudioFormat(audioFormat)) { - closeAudioOutput(aoOutput); - } - - if(!aoOutput->open) { + if(!aoOutput->open || !isCurrentAudioFormat(audioFormat)) { return openAudioOutput(aoOutput, audioFormat); } @@ -155,11 +152,6 @@ int openAudioDevice(AudioFormat * audioFormat) { } int playAudio(char * playChunk, int size) { - if(!aoOutput->open) { - ERROR("trying to play w/o the audio device being open!\n"); - return -1; - } - return playAudioOutput(aoOutput, playChunk, size); } @@ -168,7 +160,5 @@ int isAudioDeviceOpen() { } void closeAudioDevice() { - if(aoOutput->open) { - closeAudioOutput(aoOutput); - } + closeAudioOutput(aoOutput); } diff --git a/src/audioOutput.c b/src/audioOutput.c index 1165f247e..5352be012 100644 --- a/src/audioOutput.c +++ b/src/audioOutput.c @@ -41,18 +41,21 @@ AudioOutput * newAudioOutput(char * name) { } int openAudioOutput(AudioOutput * audioOutput, AudioFormat * audioFormat) { + if(audioOutput->open) closeAudioOutput(audioOutput); return audioOutput->openDeviceFunc(audioOutput, audioFormat); } int playAudioOutput(AudioOutput * audioOutput, char * playChunk, int size) { + if(!audioOutput->open) return -1; return audioOutput->playFunc(audioOutput, playChunk, size); } void closeAudioOutput(AudioOutput * audioOutput) { - audioOutput->closeDeviceFunc(audioOutput); + if(audioOutput->open) audioOutput->closeDeviceFunc(audioOutput); } void finishAudioOutput(AudioOutput * audioOutput) { + closeAudioOutput(audioOutput); audioOutput->finishDriverFunc(audioOutput); free(audioOutput); } -- cgit v1.2.3