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.
---

 src/inputPlugins/aac_plugin.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/src/inputPlugins/aac_plugin.c b/src/inputPlugins/aac_plugin.c
index c168e9b..0d4e5bf 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();


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Musicpd-dev-team mailing list
Musicpd-dev-team@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team

Reply via email to