]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - vss.c
Fix a bug in udp_send_buf().
[paraslash.git] / vss.c
diff --git a/vss.c b/vss.c
index 3e19b134c2670f6d729609799d4a6a445df989c2..0943efac0def4dde3530682832526abb726c21f2 100644 (file)
--- a/vss.c
+++ b/vss.c
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1997-2008 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 1997-2009 Andre Noll <maan@systemlinux.org>
  *
  * Licensed under the GPL v2. For licencing details see COPYING.
  */
@@ -32,7 +32,7 @@ extern struct misc_meta_data *mmd;
 
 extern void dccp_send_init(struct sender *);
 extern void http_send_init(struct sender *);
-extern void ortp_send_init(struct sender *);
+extern void udp_send_init(struct sender *);
 
 /** The list of supported senders. */
 struct sender senders[] = {
@@ -44,12 +44,10 @@ struct sender senders[] = {
                .name = "dccp",
                .init = dccp_send_init,
        },
-#ifdef HAVE_ORTP
        {
-               .name = "ortp",
-               .init = ortp_send_init,
+               .name = "udp",
+               .init = udp_send_init,
        },
-#endif
        {
                .name = NULL,
        }
@@ -186,8 +184,6 @@ static struct timeval *vss_compute_timeout(struct vss_task *vsst)
 
 static void vss_eof(struct vss_task *vsst)
 {
-       char *tmp;
-
        mmd->stream_start = *now;
        if (!vsst->map)
                return;
@@ -203,12 +199,10 @@ static void vss_eof(struct vss_task *vsst)
        mmd->afd.afhi.chunk_tv.tv_usec = 0;
        free(mmd->afd.afhi.chunk_table);
        mmd->afd.afhi.chunk_table = NULL;
-       tmp  = make_message("%s:\n%s:\n%s:\n", status_item_list[SI_AUDIO_FILE_INFO],
+       free(mmd->afd.afhi.info_string);
+       mmd->afd.afhi.info_string = make_message("%s:\n%s:\n%s:\n", status_item_list[SI_AUDIO_FILE_INFO],
                status_item_list[SI_TAGINFO1], status_item_list[SI_TAGINFO2]);
-       strncpy(mmd->afd.afhi.info_string, tmp, sizeof(mmd->afd.afhi.info_string));
-       mmd->afd.afhi.info_string[sizeof(mmd->afd.afhi.info_string) - 1] = '\0';
        make_empty_status_items(mmd->afd.verbose_ls_output);
-       free(tmp);
        mmd->mtime = 0;
        mmd->size = 0;
        mmd->events++;
@@ -422,7 +416,6 @@ static void vss_send_chunk(struct vss_task *vsst)
        if (chk_barrier("data send", &vsst->data_send_barrier,
                        &due, 1) < 0)
                return;
-       mmd->new_vss_status_flags &= ~VSS_REPOS;
        if (mmd->current_chunk >= mmd->afd.afhi.chunks_total) { /* eof */
                mmd->new_vss_status_flags |= VSS_NEXT;
                return;
@@ -506,6 +499,7 @@ void init_vss_task(int afs_socket)
        free(hn);
        free(home);
        mmd->sender_cmd_data.cmd_num = -1;
+       make_empty_status_items(mmd->afd.verbose_ls_output);
        if (conf.autoplay_given) {
                struct timeval tmp;
                mmd->vss_status_flags |= VSS_PLAYING;