Merge branch 'maint'
[paraslash.git] / vss.c
diff --git a/vss.c b/vss.c
index 1a038f060bd1f0e2ecfd842e9f08fd7f704f70e2..d0126453122f7df011240090f6f3885880eb2ede 100644 (file)
--- a/vss.c
+++ b/vss.c
@@ -290,19 +290,20 @@ static int setup_next_fec_group(struct fec_client *fc, struct vss_task *vsst)
                g->num = 0;
                g->start = *now;
        } else {
+               struct timeval tmp;
+               if (g->first_chunk + g->num_chunks >= mmd->afd.afhi.chunks_total)
+                       return 0;
                /*
                 * Start and duration of this group depend only on the previous
                 * group. Compute the new group start as g->start += g->duration.
                 */
-               struct timeval tmp = g->start;
+               tmp = g->start;
                tv_add(&tmp, &g->duration, &g->start);
                k = fc->fcp->data_slices_per_group + fc->num_extra_slices;
                set_group_timing(fc, g);
                g->first_chunk += g->num_chunks;
                g->num++;
        }
-       if (g->first_chunk >= mmd->afd.afhi.chunks_total)
-               return 0;
        if (need_audio_header(fc, vsst)) {
                ret = num_slices(vsst->header_len, fc, &g->num_header_slices);
                if (ret < 0)