X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=fecdec_filter.c;h=195dbaae1814d08316df54cf0597c914c6c1abd9;hp=8ccc2ee2b344371e369e0c2df5c792616f5d2374;hb=d482305cd2ffba049a7987a73d541c5b901a0d49;hpb=9609fd30e0d3db45ede3ab5c6bc3a77c15b6aef8 diff --git a/fecdec_filter.c b/fecdec_filter.c index 8ccc2ee2..195dbaae 100644 --- a/fecdec_filter.c +++ b/fecdec_filter.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009 Andre Noll + * Copyright (C) 2009-2010 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -102,18 +102,11 @@ static void clear_group(struct fecdec_group *fg) { int i; - for (i = 0; i < fg->num_slices; i++) { + for (i = 0; i < fg->num_slices; i++) free(fg->data[i]); - fg->data[i] = NULL; - fg->idx[i] = -1; - } free(fg->data); - fg->data = NULL; free(fg->idx); - fg->idx = NULL; - fg->num_slices = 0; - memset(&fg->h, 0, sizeof(struct fec_header)); - fg->num_received_slices = 0; + memset(fg, 0, sizeof(*fg)); } static int find_group(struct fec_header *h, @@ -431,6 +424,7 @@ static void fecdec_close(struct filter_node *fn) FOR_EACH_FECDEC_GROUP(fg, pfd) clear_group(fg); fec_free(pfd->fec); + btr_pool_free(pfd->btrp); free(fn->private_data); fn->private_data = NULL; }