X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=vss.c;h=4a1db40d716c9022c7a38e0653ee50a515a53e4f;hp=24dfc6bb51af4edf67c645c0d3ccbda2ad8f1868;hb=80541d0f045e1ed57332800eff9832e0a5b72ddf;hpb=9264932e105071a24d843785900e29e70c78d6ae diff --git a/vss.c b/vss.c index 24dfc6bb..4a1db40d 100644 --- a/vss.c +++ b/vss.c @@ -19,7 +19,9 @@ #include #include #include +#include +#include "server.lsg.h" #include "para.h" #include "error.h" #include "portable_io.h" @@ -29,7 +31,6 @@ #include "afs.h" #include "server.h" #include "net.h" -#include "server.cmdline.h" #include "list.h" #include "send.h" #include "sched.h" @@ -362,6 +363,7 @@ static void vss_get_chunk(int chunk_num, struct vss_task *vsst, * rather than the unmodified header (chunk zero). */ if (chunk_num == 0 && vsst->header_len > 0) { + assert(vsst->header_buf); *buf = vsst->header_buf; /* stripped header */ *sz = vsst->header_len; return; @@ -1044,9 +1046,9 @@ static void vss_send(struct vss_task *vsst) continue; PARA_DEBUG_LOG("sending %u:%u (%u bytes)\n", fc->group.num, fc->current_slice_num, fc->group.slice_bytes); + fc->current_slice_num++; fc->fcp->send_fec(fc->sc, (char *)fc->enc_buf, fc->group.slice_bytes + FEC_HEADER_SIZE); - fc->current_slice_num++; fec_active = 1; } if (mmd->current_chunk >= mmd->afd.afhi.chunks_total) { /* eof */ @@ -1181,10 +1183,8 @@ void init_vss_task(int afs_socket, struct sched *s) static struct vss_task vss_task_struct, *vsst = &vss_task_struct; int i; char *hn = para_hostname(), *home = para_homedir(); - long unsigned announce_time = conf.announce_time_arg > 0? - conf.announce_time_arg : 300, - autoplay_delay = conf.autoplay_delay_arg > 0? - conf.autoplay_delay_arg : 0; + long unsigned announce_time = OPT_UINT32_VAL(ANNOUNCE_TIME), + autoplay_delay = OPT_UINT32_VAL(AUTOPLAY_DELAY); vsst->header_interval.tv_sec = 5; /* should this be configurable? */ vsst->afs_socket = afs_socket; ms2tv(announce_time, &vsst->announce_tv); @@ -1197,7 +1197,7 @@ void init_vss_task(int afs_socket, struct sched *s) free(hn); free(home); mmd->sender_cmd_data.cmd_num = -1; - if (conf.autoplay_given) { + if (OPT_GIVEN(AUTOPLAY)) { struct timeval tmp; mmd->vss_status_flags |= VSS_PLAYING; mmd->new_vss_status_flags |= VSS_PLAYING;