aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-08-26 08:27:13 +0200
committerMax Kellermann <max@duempel.org>2008-08-26 08:27:13 +0200
commit7bbca0842de3947bf5a9a9897fd7d6c63a1eb6ec (patch)
tree2877824e90f116f8665b66b0be2baf999b7a5086
parent468f61d587ab1a1289d1c31dd4f19ef2d8ba078d (diff)
downloadmpd-7bbca0842de3947bf5a9a9897fd7d6c63a1eb6ec.tar.gz
mpd-7bbca0842de3947bf5a9a9897fd7d6c63a1eb6ec.tar.xz
mpd-7bbca0842de3947bf5a9a9897fd7d6c63a1eb6ec.zip
added AacBuffer.decoder
We need the decoder object at several places in the AAC plugin. Add it to mp3DecodeData, so we don't have to pass it around in every function.
-rw-r--r--src/inputPlugins/aac_plugin.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/inputPlugins/aac_plugin.c b/src/inputPlugins/aac_plugin.c
index c168e9bef..0d4e5bfa4 100644
--- a/src/inputPlugins/aac_plugin.c
+++ b/src/inputPlugins/aac_plugin.c
@@ -29,6 +29,7 @@
/* all code here is either based on or copied from FAAD2's frontend code */
typedef struct {
+ struct decoder *decoder;
InputStream *inStream;
size_t bytesIntoBuffer;
size_t bytesConsumed;
@@ -176,10 +177,12 @@ static void adtsParse(AacBuffer * b, float *length)
*length = (float)frames / framesPerSec;
}
-static void initAacBuffer(InputStream * inStream, AacBuffer * b)
+static void initAacBuffer(AacBuffer * b,
+ struct decoder *decoder, InputStream * inStream)
{
memset(b, 0, sizeof(AacBuffer));
+ b->decoder = decoder;
b->inStream = inStream;
b->buffer = xmalloc(FAAD_MIN_STREAMSIZE * AAC_MAX_CHANNELS);
@@ -259,7 +262,7 @@ static float getAacFloatTotalTime(char *file)
if (openInputStream(&inStream, file) < 0)
return -1;
- initAacBuffer(&inStream, &b);
+ initAacBuffer(&b, NULL, &inStream);
aac_parse_header(&b, &length);
if (length < 0) {
@@ -319,7 +322,7 @@ static int aac_stream_decode(struct decoder * mpd_decoder,
AacBuffer b;
int initialized = 0;
- initAacBuffer(inStream, &b);
+ initAacBuffer(&b, mpd_decoder, inStream);
decoder = faacDecOpen();
@@ -463,7 +466,7 @@ static int aac_decode(struct decoder * mpd_decoder, char *path)
if (openInputStream(&inStream, path) < 0)
return -1;
- initAacBuffer(&inStream, &b);
+ initAacBuffer(&b, mpd_decoder, &inStream);
aac_parse_header(&b, NULL);
decoder = faacDecOpen();