X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=fecdec_filter.c;h=31dd55c883f2e2f48ea31d9f357caf4197f7dc5d;hp=d5a708cfd4a5f93fbf94fbb454a7cbca64e9b1cf;hb=3a6b996d8b39fdc067df352d1eee757ef2a8f49b;hpb=c5e38315901ea63efd169af5d4ba3f3c66db7de9 diff --git a/fecdec_filter.c b/fecdec_filter.c index d5a708cf..31dd55c8 100644 --- a/fecdec_filter.c +++ b/fecdec_filter.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009-2013 Andre Noll + * Copyright (C) 2009-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -47,7 +47,7 @@ struct fec_header { uint16_t slice_bytes; /** Non-zero if this group is the beginning of the stream. */ uint8_t bos; - /** Non-zero if this stream embedds audio headers into fec groups. */ + /** Non-zero if this stream embeds audio headers into fec groups. */ uint8_t header_stream; }; @@ -409,7 +409,7 @@ static int dispatch_slice(char *buf, size_t len, struct fec_header *h, ret = fec_new(k, n, &pfd->fec); if (ret < 0) return ret; - pfd->btrp = btr_pool_new("fecdec", 64 * 1024); + pfd->btrp = btr_pool_new("fecdec", 128 * 1024); /* decode and clear the first group */ ret = decode_group(pfd->first_complete_group, fn); if (ret < 0) @@ -436,9 +436,9 @@ 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, void *context) { - struct filter_node *fn = container_of(t, struct filter_node, task); + struct filter_node *fn = context; struct btr_node *btrn = fn->btrn; int ret; struct fec_header h; @@ -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)