#define NUM_FEC_GROUPS 3
/** Size of the output buffer of the fecdec filter. */
-#define FECDEC_OUTBUF_SIZE 81920
+#define FECDEC_OUTBUF_SIZE (128 * 1024)
/** Data read from the header of a slice. */
struct fec_header {
{
int i;
- if (!group_complete(fg) && !group_empty(fg))
- PARA_WARNING_LOG("Clearing incomplete group %d "
- "(contains %d slices)\n", fg->h.group_num,
- fg->num_received_slices);
for (i = 0; i < fg->num_slices; i++) {
free(fg->data[i]);
fg->data[i] = NULL;
FOR_EACH_FECDEC_GROUP(fg, pfd) {
if (fg->h.group_num != h->group_num)
continue;
- /* FIXME: Add some more sanity checks here */
+ if (fg->h.slices_per_group != h->slices_per_group)
+ continue;
+ if (fg->h.data_slices_per_group != h->data_slices_per_group)
+ continue;
*result = fg;
return 1;
}
if (!oldest || oldest->h.group_num > fg->h.group_num)
oldest = fg;
}
+ if (!group_complete(oldest) && !group_empty(oldest))
+ PARA_WARNING_LOG("Clearing incomplete group %d "
+ "(contains %d slices)\n", fg->h.group_num,
+ fg->num_received_slices);
clear_group(oldest);
return oldest;
}