]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - vss.c
afs.h: Add doxygen comments for enum afs_events and struct afs_table.
[paraslash.git] / vss.c
diff --git a/vss.c b/vss.c
index e456f67a92bb0fe88bf2b7abdab4e3a55eceb037..20b8055616d2ed9bd14938c0b566d24611315284 100644 (file)
--- a/vss.c
+++ b/vss.c
@@ -149,7 +149,7 @@ static struct timeval *vss_compute_timeout(void)
        static struct timeval the_timeout;
        struct timeval now, next_chunk;
 
-       if (vss_next() && mmd->audio_format >= 0) {
+       if (vss_next() && map) {
                /* only sleep a bit, nec*/
                the_timeout.tv_sec = 0;
                the_timeout.tv_usec = 100;
@@ -164,11 +164,11 @@ static struct timeval *vss_compute_timeout(void)
        if (chk_barrier("data send", &now, &data_send_barrier,
                        &the_timeout, 1) < 0)
                return &the_timeout;
-       if (mmd->audio_format < 0 || !vss_playing() || !map)
+       if (!vss_playing() || !map)
                return NULL;
        vss_next_chunk_time(&next_chunk);
-       if (chk_barrier(audio_format_name(mmd->audio_format), &now, &next_chunk,
-                       &the_timeout, 0) < 0)
+       if (chk_barrier(audio_format_name(mmd->afd.afsi.audio_format_id),
+                       &now, &next_chunk, &the_timeout, 0) < 0)
                return &the_timeout;
        /* chunk is due or bof */
        the_timeout.tv_sec = 0;
@@ -192,7 +192,6 @@ static void vss_eof(void)
        tv_add(&mmd->afd.afhi.eof_tv, &now, &eof_barrier);
        munmap(map, mmd->size);
        map = NULL;
-       mmd->audio_format = -1;
        mmd->chunks_sent = 0;
        mmd->offset = 0;
        mmd->afd.afhi.seconds_total = 0;
@@ -202,7 +201,11 @@ static void vss_eof(void)
                status_item_list[SI_AUDIO_INFO2], status_item_list[SI_AUDIO_INFO3]);
        strcpy(mmd->afd.afhi.info_string, tmp);
        free(tmp);
-       mmd->filename[0] = '\0';
+       mmd->afd.path[0] = '\0';
+       mmd->afd.afsi.lyrics_id = 0;
+       mmd->afd.afsi.image_id = 0;
+       mmd->mtime = 0;
+       mmd->afd.attributes_string[0] = '\0';
        mmd->size = 0;
        mmd->events++;
 }
@@ -219,7 +222,7 @@ static void vss_eof(void)
  */
 char *vss_get_header(size_t *header_len)
 {
-       if (mmd->audio_format < 0 || !map || !mmd->afd.afhi.header_len)
+       if (!map || !mmd->afd.afhi.header_len)
                return NULL;
        *header_len = mmd->afd.afhi.header_len;
        return map + mmd->afd.afhi.header_offset;
@@ -245,7 +248,7 @@ const char *supported_audio_formats(void)
  */
 struct timeval *vss_chunk_time(void)
 {
-       if (mmd->audio_format < 0)
+       if (!map)
                return NULL;
        return &mmd->afd.afhi.chunk_tv;
 }
@@ -392,9 +395,7 @@ static void recv_afs_result(void)
        map = para_mmap(mmd->size, PROT_READ, MAP_PRIVATE,
                passed_fd, 0);
        close(passed_fd);
-       strcpy(mmd->filename, mmd->afd.path); /* FIXME: check length */
        mmd->afd.afhi.header_len = 0; /* default: no header */
-       mmd->audio_format = mmd->afd.afsi.audio_format_id;
        mmd->chunks_sent = 0;
        mmd->current_chunk = 0;
        mmd->offset = 0;
@@ -428,10 +429,6 @@ static void get_chunk(long unsigned chunk_num, char **buf, size_t *len)
        size_t pos = mmd->afd.afhi.chunk_table[chunk_num];
        *buf = map + pos;
        *len = mmd->afd.afhi.chunk_table[chunk_num + 1] - pos;
-
-       if (chunk_num + 5 > mmd->afd.afhi.chunks_total)
-               PARA_NOTICE_LOG("chunk %lu/%lu\n, len: %zu\n", chunk_num,
-                       mmd->afd.afhi.chunks_total, *len);
 }
 
 /**
@@ -445,7 +442,7 @@ static void get_chunk(long unsigned chunk_num, char **buf, size_t *len)
  */
 int vss_get_chunk(long unsigned chunk_num, char **buf, size_t *len)
 {
-       if (mmd->audio_format < 0 || !map || !vss_playing())
+       if (!map || !vss_playing())
                return -E_CHUNK;
        if (chunk_num >= mmd->afd.afhi.chunks_total)
                return -E_CHUNK;
@@ -469,7 +466,7 @@ void vss_send_chunk(void)
        char *buf;
        size_t len;
 
-       if (mmd->audio_format < 0 || !map || !vss_playing())
+       if (!map || !vss_playing())
                return;
        gettimeofday(&now, NULL);
        vss_next_chunk_time(&due);