X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=fecdec_filter.c;h=c65ff89d8c56af7c87f4e56ce06d461fae76f314;hp=d5a708cfd4a5f93fbf94fbb454a7cbca64e9b1cf;hb=ccef244fab11ebc96809b9de62e175b4d166b6e2;hpb=f652ce6afe7f6fd0e42814505234cbf4321a736e diff --git a/fecdec_filter.c b/fecdec_filter.c index d5a708cf..c65ff89d 100644 --- a/fecdec_filter.c +++ b/fecdec_filter.c @@ -436,7 +436,7 @@ static void fecdec_close(struct filter_node *fn) fn->private_data = NULL; } -static void fecdec_post_select(__a_unused struct sched *s, struct task *t) +static int fecdec_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; @@ -468,9 +468,9 @@ next_buffer: btr_consume(btrn, FEC_HEADER_SIZE + h.slice_bytes); goto next_buffer; out: - t->error = ret; if (ret < 0) btr_remove_node(&fn->btrn); + return ret; } static void fecdec_open(struct filter_node *fn) @@ -491,5 +491,6 @@ void fecdec_filter_init(struct filter *f) f->close = fecdec_close; f->open = fecdec_open; f->pre_select = generic_filter_pre_select; - f->post_select = fecdec_post_select; + f->new_post_select = fecdec_post_select; + f->post_select = NULL; }