diff options
Diffstat (limited to '')
-rw-r--r-- | src/decoder_api.c | 10 | ||||
-rw-r--r-- | src/decoder_internal.h | 3 | ||||
-rw-r--r-- | src/outputBuffer.c | 1 | ||||
-rw-r--r-- | src/outputBuffer.h | 3 |
4 files changed, 10 insertions, 7 deletions
diff --git a/src/decoder_api.c b/src/decoder_api.c index 2d79ab66b..7fab6678a 100644 --- a/src/decoder_api.c +++ b/src/decoder_api.c @@ -17,7 +17,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#include "decoder_api.h" +#include "decoder_internal.h" #include "audio.h" #include "utils.h" @@ -25,12 +25,14 @@ #include "playerData.h" #include "gcc.h" -void decoder_initialized(mpd_unused struct decoder * decoder, +void decoder_initialized(struct decoder * decoder, const AudioFormat * audio_format, float total_time) { assert(dc.state == DECODE_STATE_START); + memset(&decoder->conv_state, 0, sizeof(decoder->conv_state)); + if (audio_format != NULL) { dc.audioFormat = *audio_format; getOutputAudioFormat(audio_format, @@ -70,7 +72,7 @@ static int need_chunks(InputStream * inStream, int seekable) return 0; } -int decoder_data(mpd_unused struct decoder *decoder, InputStream * inStream, +int decoder_data(struct decoder *decoder, InputStream * inStream, int seekable, void *dataIn, size_t dataInLen, float data_time, mpd_uint16 bitRate, @@ -98,7 +100,7 @@ int decoder_data(mpd_unused struct decoder *decoder, InputStream * inStream, data = convBuffer; datalen = pcm_convertAudioFormat(&(dc.audioFormat), dataIn, dataInLen, &(ob.audioFormat), - data, &(ob.convState)); + data, &decoder->conv_state); } if (replayGainInfo != NULL && (replayGainState != REPLAYGAIN_OFF)) diff --git a/src/decoder_internal.h b/src/decoder_internal.h index 7f1095db9..2115990a8 100644 --- a/src/decoder_internal.h +++ b/src/decoder_internal.h @@ -20,9 +20,12 @@ #define DECODER_INTERNAL_H #include "decoder_api.h" +#include "pcm_utils.h" struct decoder { InputPlugin *plugin; + + ConvState conv_state; }; #endif diff --git a/src/outputBuffer.c b/src/outputBuffer.c index fc19dbc5e..e500e6860 100644 --- a/src/outputBuffer.c +++ b/src/outputBuffer.c @@ -25,7 +25,6 @@ void ob_init(unsigned int size, Notify *notify) { assert(size > 0); - memset(&ob.convState, 0, sizeof(ConvState)); ob.chunks = xmalloc(size * sizeof(*ob.chunks)); ob.size = size; ob.begin = 0; diff --git a/src/outputBuffer.h b/src/outputBuffer.h index fb3b4302d..67bb0937e 100644 --- a/src/outputBuffer.h +++ b/src/outputBuffer.h @@ -20,7 +20,7 @@ #define OUTPUT_BUFFER_H #include "notify.h" -#include "pcm_utils.h" +#include "audio_format.h" #define OUTPUT_BUFFER_DC_STOP -1 #define OUTPUT_BUFFER_DC_SEEK -2 @@ -55,7 +55,6 @@ typedef struct _OutputBuffer { int lazy; AudioFormat audioFormat; - ConvState convState; Notify *notify; } OutputBuffer; |