X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=vss.c;h=7b84dcf5db24dcf3128be1e5453a45f01913f94f;hp=704c39300e569d9da65fe2a043880e7966c4f8c2;hb=2fff03e8e4644cdf18780f920285e70ebf192af0;hpb=f41688f647116d0a17513cc86c60cc9729da6502 diff --git a/vss.c b/vss.c index 704c3930..7b84dcf5 100644 --- a/vss.c +++ b/vss.c @@ -36,7 +36,33 @@ static struct timeval eof_barrier; static struct timeval autoplay_barrier; extern struct misc_meta_data *mmd; -extern struct sender senders[]; + +extern void dccp_send_init(struct sender *); +extern void http_send_init(struct sender *); +extern void ortp_send_init(struct sender *); + +/** the list of supported senders */ +struct sender senders[] = { + { + .name = "http", + .init = http_send_init, + }, + { + .name = "dccp", + .init = dccp_send_init, + }, +#ifdef HAVE_ORTP + { + .name = "ortp", + .init = ortp_send_init, + }, +#endif + { + .name = NULL, + } +}; + + static char *map; @@ -138,6 +164,7 @@ void vss_init(void) } free(hn); free(home); + mmd->sender_cmd_data.cmd_num = -1; if (conf.autoplay_given) { struct timeval now, tmp; mmd->vss_status_flags |= VSS_PLAYING; @@ -203,11 +230,13 @@ static void vss_eof(void) struct timeval now; char *tmp; + if (!map) + return; if (mmd->new_vss_status_flags & VSS_NOMORE) mmd->new_vss_status_flags = VSS_NEXT; gettimeofday(&now, NULL); tv_add(&mmd->afd.afhi.eof_tv, &now, &eof_barrier); - munmap(map, mmd->size); + para_munmap(map, mmd->size); map = NULL; mmd->chunks_sent = 0; mmd->offset = 0;