X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=aacdec_filter.c;h=3ff90834c62bb75f179e5778ef02f6d23feb0d09;hp=55f7ea25fc43b32c9d1c5a28288b867e2151a028;hb=63abcd1b2f6de6ce53d82962f5a2100c5a57e5d3;hpb=9c5fbc5dd8b53604d7e73fb6714ee2b5e3458866 diff --git a/aacdec_filter.c b/aacdec_filter.c index 55f7ea25..3ff90834 100644 --- a/aacdec_filter.c +++ b/aacdec_filter.c @@ -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); @@ -123,7 +122,7 @@ next_buffer: ret = -E_AACDEC_INIT; if (NeAACDecInit2(padd->handle, p, padd->decoder_length, &rate, - &channels) < 0) + &channels) != 0) goto out; } padd->sample_rate = rate; @@ -203,8 +202,8 @@ out: } err: assert(ret < 0); - t->error = ret; btr_remove_node(&fn->btrn); + return ret; } /**