]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - aacdec_filter.c
afh: Unify name of init functions.
[paraslash.git] / aacdec_filter.c
index 7e3ed80a700a13319b3790eeb4093a7db8f51a7e..26d5f652c5d8fbd21933290d55cf0296118b9a17 100644 (file)
@@ -17,7 +17,6 @@
 #include "portable_io.h"
 #include "list.h"
 #include "sched.h"
-#include "ggo.h"
 #include "buffer_tree.h"
 #include "filter.h"
 #include "error.h"
@@ -86,7 +85,7 @@ static int aacdec_post_select(__a_unused struct sched *s, void *context)
        struct private_aacdec_data *padd = fn->private_data;
        int i, ret;
        char *inbuf, *outbuf, *btrbuf;
-       size_t len, consumed, loaded;
+       size_t len, consumed, loaded = 0;
        NeAACDecFrameInfo frame_info;
 
 next_buffer:
@@ -142,7 +141,6 @@ next_buffer:
        if (!frame_info.samples)
                goto success;
        btrbuf = para_malloc(2 * frame_info.samples);
-       loaded = 0;
        for (i = 0; i < frame_info.samples; i++) {
                short sh = ((short *)outbuf)[i];
                write_int16_host_endian(btrbuf + loaded, sh);
@@ -152,25 +150,19 @@ next_buffer:
 success:
        btr_consume(btrn, consumed);
        padd->consumed_total += consumed;
-       goto next_buffer;
+       if (loaded == 0)
+               goto next_buffer;
+       return 1;
 err:
        assert(ret < 0);
        btr_remove_node(&fn->btrn);
        return ret;
 }
 
-/**
- * The init function of the aacdec filter.
- *
- * \param f Pointer to the filter struct to initialize.
- *
- * \sa filter::init
- */
-void aacdec_filter_init(struct filter *f)
-{
-       f->open = aacdec_open;
-       f->close = aacdec_close;
-       f->pre_select = generic_filter_pre_select;
-       f->post_select = aacdec_post_select;
-       f->execute = aacdec_execute;
-}
+const struct filter lsg_filter_cmd_com_aacdec_user_data = {
+       .open = aacdec_open,
+       .close = aacdec_close,
+       .pre_select = generic_filter_pre_select,
+       .post_select = aacdec_post_select,
+       .execute = aacdec_execute
+};