X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=fecdec_filter.c;h=3c0c67bc367d4d766c5b7f8933bdb0349df555f1;hp=fd35d5f5d6a278a615c34e02c9c096d775330c0a;hb=d96c06ff93493c125b9f4d36655e77d7029ca309;hpb=72d9d14c6d70c0b7c14d0dd32925b223f6c7a451 diff --git a/fecdec_filter.c b/fecdec_filter.c index fd35d5f5..3c0c67bc 100644 --- a/fecdec_filter.c +++ b/fecdec_filter.c @@ -31,11 +31,6 @@ */ #define NUM_FEC_GROUPS 3 -/** Default size of the output buffer of the fecdec filter. */ -#define FECDEC_DEFAULT_OUTBUF_SIZE (3 * 1024) -/** Maximal size of the output buffer of the fecdec filter. */ -#define FECDEC_MAX_OUTBUF_SIZE (1024 * 1024) - /** Data read from the header of a slice. */ struct fec_header { /** Total number of slices in this group. */ @@ -326,11 +321,7 @@ static int decode_group(struct fecdec_group *fg, struct filter_node *fn) break; if (sb + written > fg->h.audio_header_size) n = fg->h.audio_header_size - written; - if (fn->btrn) - btr_copy(fg->data[i], n, pfd->btrp, fn->btrn); - else - memcpy(p + written, fg->data[i], n); - fn->loaded += n; + btr_copy(fg->data[i], n, pfd->btrp, fn->btrn); written += n; } p += written; @@ -340,11 +331,7 @@ static int decode_group(struct fecdec_group *fg, struct filter_node *fn) size_t n = sb; if (n + written > fg->h.group_bytes) n = fg->h.group_bytes - written; - if (fn->btrn) - btr_copy(fg->data[i], n, pfd->btrp, fn->btrn); - else - memcpy(p + written, fg->data[i], n); - fn->loaded += n; + btr_copy(fg->data[i], n, pfd->btrp, fn->btrn); written += n; } p += written; @@ -443,12 +430,10 @@ static void fecdec_close(struct filter_node *fn) FOR_EACH_FECDEC_GROUP(fg, pfd) clear_group(fg); - free(fn->buf); - fn->buf = NULL; fec_free(pfd->fec); + btr_pool_free(pfd->btrp); free(fn->private_data); fn->private_data = NULL; - fn->conf = NULL; } static void fecdec_post_select(__a_unused struct sched *s, struct task *t) @@ -491,11 +476,8 @@ out: static void fecdec_open(struct filter_node *fn) { struct private_fecdec_data *pfd; - fn->bufsize = FECDEC_DEFAULT_OUTBUF_SIZE; - fn->buf = para_malloc(fn->bufsize); pfd = para_calloc(sizeof(*pfd)); fn->private_data = pfd; - fn->loaded = 0; fn->min_iqs = FEC_HEADER_SIZE; }