Remove some unused error codes.
[paraslash.git] / mp3dec_filter.c
index 696367d6c0855e789c3b0ee47529316fbedf925d..35448da7e22f67c84e2fb08d8f1ba6b15de2d49f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2005-2009 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2010 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -140,6 +140,12 @@ next_buffer:
                return;
        btr_merge(btrn, fn->min_iqs);
        len = btr_next_buffer(btrn, &inbuffer);
+       /*
+        * Decode at most 8K in one go to give the post_select() functions of
+        * other buffer tree nodes a chance to run. This is necessary to avoid
+        * buffer underruns on slow machines.
+        */
+       len = PARA_MIN(len, (size_t)8192);
        mad_stream_buffer(&pmd->stream, (unsigned char *)inbuffer, len);
 next_frame:
        ret = mad_header_decode(&pmd->frame.header, &pmd->stream);
@@ -232,13 +238,13 @@ static int mp3dec_execute(struct btr_node *btrn, const char *cmd, char **result)
 
        if (!strcmp(cmd, "samplerate")) {
                if (pmd->samplerate == 0)
-                       return -ERRNO_TO_PARA_ERROR(ENAVAIL);
+                       return -E_BTR_NAVAIL;
                *result = make_message("%u", pmd->samplerate);
                return 1;
        }
        if (!strcmp(cmd, "channels")) {
                if (pmd->channels == 0)
-                       return -ERRNO_TO_PARA_ERROR(ENAVAIL);
+                       return -E_BTR_NAVAIL;
                *result = make_message("%u", pmd->channels);
                return 1;
        }