X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=fecdec_filter.c;h=2c63fc6b00ac6d671f74142ac74060bacece8bed;hp=1ff4abbbed26122644ff47ad42a5c44f0bc3d5d3;hb=16758aa8a898d222ef417d408916f1dc11b12650;hpb=f948a91c447ac2fa070c0b7a6c57b83b7dfdd56c diff --git a/fecdec_filter.c b/fecdec_filter.c index 1ff4abbb..2c63fc6b 100644 --- a/fecdec_filter.c +++ b/fecdec_filter.c @@ -104,7 +104,7 @@ struct private_fecdec_data { /** Iterate over all fecdec groups. */ #define FOR_EACH_FECDEC_GROUP(g, d) for (g = (d)->groups; \ - (g) - (d)->groups < NUM_FEC_GROUPS; (g)++) + (g) < (d)->groups + NUM_FEC_GROUPS; (g)++) static int group_complete(struct fecdec_group *fg) { @@ -396,6 +396,10 @@ static int dispatch_slice(char *buf, size_t len, struct fec_header *h, return 1; if (group_complete(fg)) { if (pfd->completion_status == GCS_NO_COMPLETE_GROUP) { + enum fec_group_usability u = group_is_usable(fg, pfd); + assert(u != FEC_GROUP_USABLE_SKIP_HEADER); + if (u == FEC_GROUP_UNUSABLE) + return 1; pfd->completion_status = GCS_FIRST_GROUP_COMPLETE; pfd->first_complete_group = fg; return 1;