X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=audiod.c;h=61711dc3f5591d9396ebe62496871404834dea47;hp=975b3dfee38a86352bf0c224b135424d6151826d;hb=959d66719258a7b3d5028e5e6770972768621a4f;hpb=6fe4a634c578a19b45371798871312e712e1f817 diff --git a/audiod.c b/audiod.c index 975b3dfe..61711dc3 100644 --- a/audiod.c +++ b/audiod.c @@ -609,17 +609,14 @@ __malloc static char *glob_cmd(char *cmd) else tv_diff(&server_stream_start, &sa_time_diff, &rss); tv_add(&rss, &delay, &tmp); - replacement = make_message("%lu:%lu", tmp.tv_sec, tmp.tv_usec); + replacement = make_message("%lu:%lu", + (long unsigned)tmp.tv_sec, + (long unsigned)tmp.tv_usec); ret = s_a_r(cmd, "STREAM_START", replacement); free(replacement); if (!ret) goto out; PARA_INFO_LOG("cmd: %s, repl: %s\n", cmd, ret); - { - struct timeval now; - gettimeofday(&now, NULL); - PARA_INFO_LOG("now: %lu:%lu\n", now.tv_sec, now.tv_usec); - } out: return ret; } @@ -699,7 +696,7 @@ static void start_stream_writer(int slot_num) if (a->write_cmd) glob = glob_cmd(a->write_cmd); if (!glob) - glob = para_strdup("para_play"); + glob = para_strdup("para_write -w alsa"); PARA_INFO_LOG("starting stream writer: %s\n", glob); open_filters(slot_num); ret = para_exec_cmdline_pid(&s->wpid, glob, fds); @@ -809,7 +806,7 @@ static void check_stat_line(char *line) { int itemnum; size_t ilen = 0; - struct timeval tv; + long unsigned sec, usec; char *tmp; PARA_INFO_LOG("line: %s\n", line); @@ -841,14 +838,16 @@ static void check_stat_line(char *line) length_seconds = atoi(line + ilen + 1); break; case SI_STREAM_START: - if (sscanf(line + ilen + 1, "%lu.%lu", - &tv.tv_sec, &tv.tv_usec) == 2) - server_stream_start = tv; + if (sscanf(line + ilen + 1, "%lu.%lu", &sec, &usec) == 2) { + server_stream_start.tv_sec = sec; + server_stream_start.tv_usec = usec; + } break; case SI_CURRENT_TIME: - if (sscanf(line + ilen + 1, "%lu.%lu", &tv.tv_sec, - &tv.tv_usec) == 2) + if (sscanf(line + ilen + 1, "%lu.%lu", &sec, &usec) == 2) { + struct timeval tv = {sec, usec}; compute_time_diff(&tv); + } break; } } @@ -1563,8 +1562,7 @@ repeat: FD_ZERO(&wfds); FD_ZERO(&rfds); /* always check signal pipe and the local socket */ - FD_SET(signal_pipe, &rfds); - max_fileno = signal_pipe; + para_fd_set(signal_pipe, &rfds, &max_fileno); para_fd_set(audiod_socket, &rfds, &max_fileno); if (audiod_status != AUDIOD_ON)