X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=aacdec_filter.c;h=9cea898035d77bea71c860a486e6bf609faeffbd;hp=6c843799ba04446e6d6a14357e96c1cf7d6c5465;hb=ccef244fab11ebc96809b9de62e175b4d166b6e2;hpb=85094cd802bdb606d4e2bf7ed66dec51db2a0953 diff --git a/aacdec_filter.c b/aacdec_filter.c index 6c843799..9cea8980 100644 --- a/aacdec_filter.c +++ b/aacdec_filter.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2011 Andre Noll + * Copyright (C) 2006-2013 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -80,7 +80,7 @@ static void aacdec_close(struct filter_node *fn) fn->private_data = NULL; } -static void aacdec_post_select(__a_unused struct sched *s, struct task *t) +static int aacdec_post_select(__a_unused struct sched *s, struct task *t) { struct filter_node *fn = container_of(t, struct filter_node, task); struct btr_node *btrn = fn->btrn; @@ -91,12 +91,11 @@ static void aacdec_post_select(__a_unused struct sched *s, struct task *t) size_t len, skip, consumed, loaded; next_buffer: - t->error = 0; ret = btr_node_status(btrn, fn->min_iqs, BTR_NT_INTERNAL); if (ret < 0) goto err; if (ret == 0) - return; + return 0; btr_merge(btrn, fn->min_iqs); len = btr_next_buffer(btrn, (char **)&inbuf); len = PARA_MIN(len, (size_t)8192); @@ -203,8 +202,8 @@ out: } err: assert(ret < 0); - t->error = ret; - btr_remove_node(btrn); + btr_remove_node(&fn->btrn); + return ret; } /** @@ -219,6 +218,7 @@ 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->new_post_select = aacdec_post_select; + f->post_select = NULL; f->execute = aacdec_execute; }