Get rid of mmd->afi.
authorAndre Noll <maan@systemlinux.org>
Tue, 23 Oct 2007 17:56:44 +0000 (19:56 +0200)
committerAndre Noll <maan@systemlinux.org>
Tue, 23 Oct 2007 17:56:44 +0000 (19:56 +0200)
It was only a copy of mmd->afd.afhi, so make all users use the
latter directly.

command.c
server.h
vss.c

index 92fe18f..22e3aa9 100644 (file)
--- a/command.c
+++ b/command.c
@@ -120,7 +120,7 @@ static char *get_status(struct misc_meta_data *nmmd)
                "%s:%s\n"       "%s:%lu.%lu\n"  "%s:%lu.%lu\n",
                status_item_list[SI_FILE_SIZE], nmmd->size / 1024,
                status_item_list[SI_MTIME], mtime,
-               status_item_list[SI_LENGTH], nmmd->afi.seconds_total,
+               status_item_list[SI_LENGTH], nmmd->afd.afhi.seconds_total,
                status_item_list[SI_NUM_PLAYED], nmmd->num_played,
 
                status_item_list[SI_STATUS_BAR], bar ? bar : "(none)",
@@ -131,7 +131,7 @@ static char *get_status(struct misc_meta_data *nmmd)
                status_item_list[SI_OFFSET], offset,
                status_item_list[SI_FORMAT], audio_format_name(nmmd->audio_format),
                status_item_list[SI_AFS_MODE], mmd->afs_mode_string,
-               nmmd->afi.info_string,
+               nmmd->afd.afhi.info_string,
 
                status_item_list[SI_UPTIME], ut,
                status_item_list[SI_STREAM_START],
@@ -512,20 +512,20 @@ int com_ff(__a_unused int fd, int argc, char * const * argv)
                backwards = 1; /* jmp backwards */
        mmd_lock();
        ret = -E_NO_AUDIO_FILE;
-       if (!mmd->afi.chunks_total || !mmd->afi.seconds_total)
+       if (!mmd->afd.afhi.chunks_total || !mmd->afd.afhi.seconds_total)
                goto out;
-       promille = (1000 * mmd->current_chunk) / mmd->afi.chunks_total;
+       promille = (1000 * mmd->current_chunk) / mmd->afd.afhi.chunks_total;
        if (backwards)
-               promille -= 1000 * i / mmd->afi.seconds_total;
+               promille -= 1000 * i / mmd->afd.afhi.seconds_total;
        else
-               promille += 1000 * i / mmd->afi.seconds_total;
+               promille += 1000 * i / mmd->afd.afhi.seconds_total;
        if (promille < 0)
                promille = 0;
        if (promille >  1000) {
                mmd->new_vss_status_flags |= VSS_NEXT;
                goto out;
        }
-       mmd->repos_request = (mmd->afi.chunks_total * promille) / 1000;
+       mmd->repos_request = (mmd->afd.afhi.chunks_total * promille) / 1000;
        mmd->new_vss_status_flags |= VSS_REPOS;
        mmd->new_vss_status_flags &= ~VSS_NEXT;
        mmd->events++;
@@ -547,12 +547,12 @@ int com_jmp(__a_unused int fd, int argc, char * const * argv)
                return -E_COMMAND_SYNTAX;
        mmd_lock();
        ret = -E_NO_AUDIO_FILE;
-       if (!mmd->afi.chunks_total)
+       if (!mmd->afd.afhi.chunks_total)
                goto out;
        if (i > 100)
                i = 100;
        PARA_INFO_LOG("jumping to %lu%%\n", i);
-       mmd->repos_request = (mmd->afi.chunks_total * i + 50)/ 100;
+       mmd->repos_request = (mmd->afd.afhi.chunks_total * i + 50)/ 100;
        PARA_INFO_LOG("sent: %lu,  offset before jmp: %lu\n",
                mmd->chunks_sent, mmd->offset);
        mmd->new_vss_status_flags |= VSS_REPOS;
index cb7a716..7b2f359 100644 (file)
--- a/server.h
+++ b/server.h
@@ -43,7 +43,7 @@ struct sender_command_data{
 };
 
 /**
- * used for parent-child communication
+ * Used for parent-child communication.
  *
  * There's only one struct of this type which lives in shared memory
  * for communication between the server instances. Access to this
@@ -59,8 +59,6 @@ struct sender_command_data{
  *     date.
  */
 struct misc_meta_data {
-       /** information on the current audio file  */
-       struct audio_format_info afi;
        /** the size of the current audio file in bytes */
        size_t size;
        /** the full path of the current audio file */
@@ -106,6 +104,7 @@ struct misc_meta_data {
        int selector_change;
        /** used by the sender command */
        struct sender_command_data sender_cmd_data;
+       /** Describes the current audio file. */
        struct audio_file_data afd;
 };
 
diff --git a/vss.c b/vss.c
index 93ee76d..e456f67 100644 (file)
--- a/vss.c
+++ b/vss.c
@@ -136,7 +136,7 @@ static void vss_next_chunk_time(struct timeval *due)
 {
        struct timeval tmp;
 
-       tv_scale(mmd->chunks_sent, &mmd->afi.chunk_tv, &tmp);
+       tv_scale(mmd->chunks_sent, &mmd->afd.afhi.chunk_tv, &tmp);
        tv_add(&tmp, &mmd->stream_start, due);
 }
 
@@ -189,18 +189,18 @@ static void vss_eof(void)
                return;
        }
        gettimeofday(&now, NULL);
-       tv_add(&mmd->afi.eof_tv, &now, &eof_barrier);
+       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->afi.seconds_total = 0;
-       free(mmd->afi.chunk_table);
-       mmd->afi.chunk_table = NULL;
+       mmd->afd.afhi.seconds_total = 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_INFO1],
                status_item_list[SI_AUDIO_INFO2], status_item_list[SI_AUDIO_INFO3]);
-       strcpy(mmd->afi.info_string, tmp);
+       strcpy(mmd->afd.afhi.info_string, tmp);
        free(tmp);
        mmd->filename[0] = '\0';
        mmd->size = 0;
@@ -219,10 +219,10 @@ static void vss_eof(void)
  */
 char *vss_get_header(size_t *header_len)
 {
-       if (mmd->audio_format < 0 || !map || !mmd->afi.header_len)
+       if (mmd->audio_format < 0 || !map || !mmd->afd.afhi.header_len)
                return NULL;
-       *header_len = mmd->afi.header_len;
-       return map + mmd->afi.header_offset;
+       *header_len = mmd->afd.afhi.header_len;
+       return map + mmd->afd.afhi.header_offset;
 }
 
 /**
@@ -247,7 +247,7 @@ struct timeval *vss_chunk_time(void)
 {
        if (mmd->audio_format < 0)
                return NULL;
-       return &mmd->afi.chunk_tv;
+       return &mmd->afd.afhi.chunk_tv;
 }
 
 enum afs_socket_status {
@@ -297,7 +297,7 @@ struct timeval *vss_preselect(fd_set *rfds, fd_set *wfds, int *max_fileno)
                        struct timeval now;
                        gettimeofday(&now, NULL);
                        if (!vss_paused() || mmd->chunks_sent)
-                               tv_add(&mmd->afi.eof_tv, &now, &eof_barrier);
+                               tv_add(&mmd->afd.afhi.eof_tv, &now, &eof_barrier);
                        if (vss_repos())
                                tv_add(&now, &announce_tv, &data_send_barrier);
                        if (mmd->new_vss_status_flags & VSS_NOMORE)
@@ -393,14 +393,13 @@ static void recv_afs_result(void)
                passed_fd, 0);
        close(passed_fd);
        strcpy(mmd->filename, mmd->afd.path); /* FIXME: check length */
-       mmd->afi.header_len = 0; /* default: no header */
+       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;
        mmd->events++;
        mmd->num_played++;
-       mmd->afi = mmd->afd.afhi;
        mmd->new_vss_status_flags &= (~VSS_NEXT);
        gettimeofday(&now, NULL);
        tv_add(&now, &announce_tv, &data_send_barrier);
@@ -426,9 +425,9 @@ void vss_post_select(fd_set *rfds, fd_set *wfds)
 
 static void get_chunk(long unsigned chunk_num, char **buf, size_t *len)
 {
-       size_t pos = mmd->afi.chunk_table[chunk_num];
+       size_t pos = mmd->afd.afhi.chunk_table[chunk_num];
        *buf = map + pos;
-       *len = mmd->afi.chunk_table[chunk_num + 1] - 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,
@@ -448,7 +447,7 @@ int vss_get_chunk(long unsigned chunk_num, char **buf, size_t *len)
 {
        if (mmd->audio_format < 0 || !map || !vss_playing())
                return -E_CHUNK;
-       if (chunk_num >= mmd->afi.chunks_total)
+       if (chunk_num >= mmd->afd.afhi.chunks_total)
                return -E_CHUNK;
        get_chunk(chunk_num, buf, len);
        return 1;
@@ -482,7 +481,7 @@ void vss_send_chunk(void)
                        &due, 1) < 0)
                return;
        mmd->new_vss_status_flags &= ~VSS_REPOS;
-       if (mmd->current_chunk >= mmd->afi.chunks_total) { /* eof */
+       if (mmd->current_chunk >= mmd->afd.afhi.chunks_total) { /* eof */
                mmd->new_vss_status_flags |= VSS_NEXT;
                return vss_eof();
        }
@@ -493,7 +492,7 @@ void vss_send_chunk(void)
        if (!mmd->chunks_sent) {
                struct timeval tmp;
                gettimeofday(&mmd->stream_start, NULL);
-               tv_scale(mmd->current_chunk, &mmd->afi.chunk_tv, &tmp);
+               tv_scale(mmd->current_chunk, &mmd->afd.afhi.chunk_tv, &tmp);
                mmd->offset = tv2ms(&tmp);
                mmd->events++;
        }