From: Andre Date: Thu, 8 Jun 2006 03:01:05 +0000 (+0200) Subject: audiod: move af_status to struct status_task. X-Git-Tag: v0.2.14~65^2 X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=commitdiff_plain;h=30a64ad83ffc0e815cb135b0587ebf5a1f9af081 audiod: move af_status to struct status_task. Also add some documentation of struct status_task. --- diff --git a/audiod.c b/audiod.c index bcead91f..032f9cd0 100644 --- a/audiod.c +++ b/audiod.c @@ -71,8 +71,7 @@ struct slot_info slot[MAX_STREAM_SLOTS]; int audiod_status = AUDIOD_ON; struct gengetopt_args_info conf; -static char *af_status, /* the audio format announced in server status */ - *socket_name; +static char *socket_name; static FILE *logfile; static struct audio_format_info afi[NUM_AUDIO_FORMATS]; @@ -451,9 +450,9 @@ static int open_current_receiver(struct sched *s) int i; struct timeval diff; - if (!af_status) + if (!stat_task->af_status) return 0; - i = get_audio_format_num(af_status); + i = get_audio_format_num(stat_task->af_status); if (i < 0) return 0; if (decoder_running(i)) @@ -529,8 +528,8 @@ static void check_stat_line(char *line) stat_task->playing = strstr(line, "playing")? 1 : 0; break; case SI_FORMAT: - free(af_status); - af_status = para_strdup(line + ilen + 1); + free(stat_task->af_status); + stat_task->af_status = para_strdup(line + ilen + 1); break; case SI_OFFSET: stat_task->offset_seconds = atoi(line + ilen + 1); diff --git a/audiod.h b/audiod.h index 7e2e2769..f77ebcd1 100644 --- a/audiod.h +++ b/audiod.h @@ -37,6 +37,7 @@ struct slot_info { /** the active writer node group */ struct writer_node_group *wng; }; + /** * the main task of audiod * @@ -46,6 +47,7 @@ struct audiod_task { struct timeval *now; struct task task; }; + /** * the task for audiod's child (para_client stat) * @@ -58,18 +60,28 @@ struct status_task { char buf[STRINGSIZE]; /** number of bytes loaded in \a buf */ unsigned loaded; + /** the array of status items sent by para_server */ + char *stat_item_values[NUM_STAT_ITEMS]; /** the associated task structure */ struct task task; /** do not restart client command until this time */ struct timeval restart_barrier; - int playing; + /** the offset value announced by para_server */ int offset_seconds; + /** the length of the current audio file as announced by para_server */ int length_seconds; - int sa_time_diff_sign; - char *stat_item_values[NUM_STAT_ITEMS]; + /** the start of the current stream from the view of para_server */ struct timeval server_stream_start; + /** the averaged time deviation between para_server and para_audiod */ struct timeval sa_time_diff; + /** whether client time is ahead of server time */ + int sa_time_diff_sign; + /** the audio format announced in server status */ + char *af_status; + /** non-zero if \a af_status is "playing" */ + int playing; }; + extern struct status_task *stat_task; extern struct slot_info slot[MAX_STREAM_SLOTS]; extern struct gengetopt_args_info conf;