From 2219e6917e9c145528de864b427124a32073533b Mon Sep 17 00:00:00 2001 From: Warren Dukes Date: Sun, 29 May 2005 19:19:20 +0000 Subject: forgot to parse the format string of audio_output's git-svn-id: https://svn.musicpd.org/mpd/trunk@3296 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- src/audioOutput.c | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/audioOutput.c b/src/audioOutput.c index 632d1b8dc..9bf13aa13 100644 --- a/src/audioOutput.c +++ b/src/audioOutput.c @@ -54,6 +54,7 @@ AudioOutput * newAudioOutput(ConfigParam * param) { if(param) { getBlockParam(AUDIO_OUTPUT_NAME, name, 1); getBlockParam(AUDIO_OUTPUT_TYPE, type, 1); + getBlockParam(AUDIO_OUTPUT_FORMAT, format, 1); if(!findInList(audioOutputPluginList, type, &data)) { ERROR("couldn't find audio output plugin for type " @@ -63,17 +64,6 @@ AudioOutput * newAudioOutput(ConfigParam * param) { } plugin = (AudioOutputPlugin *) data; - - if(format) { - ret->convertAudioFormat = 1; - - if(0 != parseAudioConfig(&ret->reqAudioFormat, format)) - { - ERROR("error parsing format at line %i\n", - bp->line); - exit(EXIT_FAILURE); - } - } } else { ListNode * node = audioOutputPluginList->firstNode; @@ -126,6 +116,19 @@ AudioOutput * newAudioOutput(ConfigParam * param) { memset(&ret->outAudioFormat, 0, sizeof(AudioFormat)); memset(&ret->reqAudioFormat, 0, sizeof(AudioFormat)); + if(format) { + ret->convertAudioFormat = 1; + + if(0 != parseAudioConfig(&ret->reqAudioFormat, format)) + { + ERROR("error parsing format at line %i\n", + bp->line); + exit(EXIT_FAILURE); + } + + copyAudioFormat(&ret->outAudioFormat, &ret->reqAudioFormat); + } + if(plugin->initDriverFunc(ret, param) != 0) { free(ret); ret = NULL; -- cgit v1.2.3