]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - mp3dec.c
Merge branch 'in_mem_user_list'
[paraslash.git] / mp3dec.c
index c02432eee8fa82ed8a1ab633afebac47fccb89df..1818d4c06a91532cbeae556d0201616fd89fc981 100644 (file)
--- a/mp3dec.c
+++ b/mp3dec.c
@@ -19,8 +19,8 @@
 /** \file mp3dec.c paraslash's mp3 decoder */
 
 #include "para.h"
-
 #include "list.h"
+#include "sched.h"
 #include "filter.h"
 #include "error.h"
 #include <mad.h>
@@ -49,7 +49,6 @@ struct private_mp3dec_data {
 };
 
 /* TODO: Convert all input if possible */
-#define FRAME_HEADER_SIZE 4
 static ssize_t mp3dec(char *inbuffer, size_t len, struct filter_node *fn)
 {
        int i, ret;
@@ -62,11 +61,8 @@ static ssize_t mp3dec(char *inbuffer, size_t len, struct filter_node *fn)
        pmd->stream.error = 0;
 next_frame:
        ret = mad_header_decode(&pmd->frame.header, &pmd->stream);
-       if (ret < 0) {
-               if (!MAD_RECOVERABLE(pmd->stream.error))
-                       goto out;
-               return FRAME_HEADER_SIZE;
-       }
+       if (ret < 0)
+               goto out;
        fn->fc->samplerate = pmd->frame.header.samplerate;
        fn->fc->channels = MAD_NCHANNELS(&pmd->frame.header);
        ret = mad_frame_decode(&pmd->frame, &pmd->stream);
@@ -98,8 +94,8 @@ next_frame:
 out:
        if (pmd->stream.next_frame) { /* we still have some data */
                size_t off = pmd->stream.bufend - pmd->stream.next_frame;
-               PARA_DEBUG_LOG("converted %zd, rate: %u, returning %zd\n", len - off,
-                       fn->fc->samplerate, copy - off);
+//             PARA_INFO_LOG("off: %zd, rate: %u, returning %zd\n", off,
+//                     fn->fc->samplerate, copy - off);
                return copy - off;
        }
        return copy;