]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - fecdec_filter.c
More source code documentation.
[paraslash.git] / fecdec_filter.c
index 87b6a3669d6f1ab929dbf7a913f2bf237dcfaef6..8b326de5d9862ef88a9817f25962f2ff93fccd44 100644 (file)
@@ -78,14 +78,8 @@ struct private_fecdec_data {
 #define FOR_EACH_FECDEC_GROUP(g, d) for (g = (d)->groups; \
        (g) - (d)->groups < NUM_FEC_GROUPS; (g)++)
 
-/** */
-#define UNUSED_GROUP_NUM 0xffffffff
-
 static int group_complete(struct fecdec_group *fg)
 {
-       if (fg->h.group_num == UNUSED_GROUP_NUM)
-               return 0;
-       //PARA_INFO_LOG("received slices: %u, slices per group: %u\n", fg->num_received_slices, fg->h.data_slices_per_group);
        return fg->num_received_slices >= fg->h.data_slices_per_group;
 }
 
@@ -98,10 +92,6 @@ static void clear_group(struct fecdec_group *fg)
 {
        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;
@@ -112,7 +102,6 @@ static void clear_group(struct fecdec_group *fg)
        fg->num_slices = 0;
        memset(&fg->h, 0, sizeof(struct fec_header));
        fg->num_received_slices = 0;
-       fg->h.group_num = UNUSED_GROUP_NUM;
 }
 
 static int find_group(struct fec_header *h,
@@ -162,6 +151,10 @@ static struct fecdec_group *free_oldest_group(struct private_fecdec_data *pfd)
                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;
 }