- if (st->fd < 0 && audiod_status != AUDIOD_OFF
- && tv_diff(now, &st->restart_barrier, NULL) > 0) {
- st->fd = open_stat_pipe();
- st->loaded = 0;
- st->buf[0] = '\0';
+ if (st->pcd || audiod_status == AUDIOD_OFF)
+ return;
+ if (!st->clock_diff_count && tv_diff(now, &st->restart_barrier, NULL)
+ < 0)
+ return;
+ if (st->clock_diff_count) {
+ char *argv[] = {"audiod", "stat", "1", NULL};
+ int argc = 3;
+ if (tv_diff(now, &st->clock_diff_barrier, NULL) < 0)
+ return;
+ PARA_INFO_LOG("clock diff count: %d\n", st->clock_diff_count);
+ t->ret = client_parse_config(argc, argv, &st->pcd);
+
+ } else {
+ char *argv[] = {"audiod", "stat", NULL};
+ int argc = 2;
+ t->ret = client_parse_config(argc, argv, &st->pcd);