X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=vss.c;h=aa76ca2e852a8314667e67ce39192203fc6a69ce;hp=a8486bbd9e86e64b6734117386ab5fcca83bd26a;hb=d3efa4f48d28ccc4c8f0238178eeb0d2641d6dfb;hpb=183093903e2d40114ec81f9263126d5c6def12d5 diff --git a/vss.c b/vss.c index a8486bbd..aa76ca2e 100644 --- a/vss.c +++ b/vss.c @@ -340,8 +340,9 @@ static int compute_next_fec_slice(struct fec_client *fc, struct vss_task *vsst) { if (fc->first_stream_chunk < 0 || fc->current_slice_num == fc->fcp->slices_per_group + fc->num_extra_slices) { - if (!setup_next_fec_group(fc, vsst)) - return 0; + int ret = setup_next_fec_group(fc, vsst); + if (ret <= 0) + return ret; } write_fec_header(fc, vsst); fec_encode(fc->parms, fc->src_data, fc->enc_buf + FEC_HEADER_SIZE, @@ -827,7 +828,7 @@ static void vss_send(struct vss_task *vsst) list_for_each_entry_safe(fc, tmp_fc, &fec_client_list, node) { if (!next_slice_is_due(fc, NULL)) continue; - if (!compute_next_fec_slice(fc, vsst)) + if (compute_next_fec_slice(fc, vsst) <= 0) continue; PARA_DEBUG_LOG("sending %d:%d (%u bytes)\n", fc->group.num, fc->current_slice_num, fc->fcp->max_slice_bytes);