X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=afs.c;h=0f4cd20e889811a6cbf466ba2e35990915b02e76;hp=0712cc2720683b3fa8f08194eba95fd5691ab996;hb=e93d64d5f46d62de6fc09c05ef2b47ac1d04f340;hpb=1f556ae88bd8c85d4452f689f532f5a6abeabe92 diff --git a/afs.c b/afs.c index 0712cc27..0f4cd20e 100644 --- a/afs.c +++ b/afs.c @@ -38,7 +38,7 @@ static struct timeval data_send_barrier; static struct timeval eof_barrier; extern struct misc_meta_data *mmd; -extern struct audio_file_selector dblist[]; +extern struct audio_file_selector selectors[]; extern struct sender senders[]; extern struct gengetopt_args_info conf; @@ -150,7 +150,7 @@ void afs_init(void) afl[i].init(&afl[i]); } ms2tv(conf.announce_time_arg, &announce_tv); - PARA_INFO_LOG("announce timeval: %lu:%lu\n", announce_tv.tv_sec, announce_tv.tv_usec); + PARA_INFO_LOG("announce timeval: %lums\n", tv2ms(&announce_tv)); for (i = 0; senders[i].name; i++) { PARA_NOTICE_LOG("initializing %s sender\n", senders[i].name); senders[i].init(&senders[i]); @@ -233,7 +233,7 @@ static int update_mmd(void) static void get_song(void) { - char **sl = dblist[mmd->selector_num].get_audio_file_list(10); + char **sl = selectors[mmd->selector_num].get_audio_file_list(10); int i; if (!sl) @@ -253,8 +253,8 @@ static void get_song(void) continue; } mmd->num_played++; - if (dblist[mmd->selector_num].update_audio_file) - dblist[mmd->selector_num].update_audio_file(sl[i]); + if (selectors[mmd->selector_num].update_audio_file) + selectors[mmd->selector_num].update_audio_file(sl[i]); PARA_DEBUG_LOG("%s", "success\n"); mmd->new_afs_status_flags &= (~AFS_NEXT); gettimeofday(&now, NULL); @@ -313,7 +313,7 @@ static struct timeval *afs_compute_timeout(void) if (chk_barrier("eof", &now, &eof_barrier, &the_timeout, 1) < 0) return &the_timeout; if (chk_barrier("data send", &now, &data_send_barrier, - &the_timeout, 1) < 0) + &the_timeout, 1) < 0) return &the_timeout; if (mmd->audio_format < 0 || !afs_playing() || !audio_file) return NULL; @@ -398,10 +398,9 @@ again: senders[i].shutdown_clients(); if (af) { struct timeval now; - if (!afs_paused() || mmd->chunks_sent) { - gettimeofday(&now, NULL); + gettimeofday(&now, NULL); + if (!afs_paused() || mmd->chunks_sent) tv_add(&af->eof_tv, &now, &eof_barrier); - } if (afs_repos()) tv_add(&now, &announce_tv, &data_send_barrier); if (mmd->new_afs_status_flags & AFS_NOMORE) @@ -415,7 +414,7 @@ again: mmd->new_afs_status_flags &= ~(AFS_REPOS); mmd->current_chunk = mmd->repos_request; } - ret = afs_compute_timeout(); + ret = afs_compute_timeout(); if (!ret && !audio_file && afs_playing() && !(mmd->new_afs_status_flags & AFS_NOMORE)) { PARA_DEBUG_LOG("%s", "ready and playing, but no audio file\n"); @@ -454,7 +453,7 @@ void afs_send_chunk(void) if (tv_diff(&due, &now, NULL) > 0) return; buf = af->read_chunk(mmd->current_chunk, &ret); - mmd->new_afs_status_flags &= ~(AFS_NEXT | AFS_REPOS); + mmd->new_afs_status_flags &= ~AFS_REPOS; if (!buf) { if (ret < 0) mmd->new_afs_status_flags = AFS_NEXT;