aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/decoder_api.c10
-rw-r--r--src/decoder_internal.h3
-rw-r--r--src/outputBuffer.c1
-rw-r--r--src/outputBuffer.h3
4 files changed, 10 insertions, 7 deletions
diff --git a/src/decoder_api.c b/src/decoder_api.c
index 2d79ab66..7fab6678 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 7f1095db..2115990a 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 fc19dbc5..e500e686 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 fb3b4302..67bb0937 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;