X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=audiod.c;h=ce5bc551f8767349a41fe0974f52fa1975d2a1f8;hp=3a2607defc2576b476628524102b5d8367985b89;hb=f87868b3147b189b6d4ee4e44817f092bd1c2895;hpb=2607a94854dbc9d9415887cb9fa954e9227c1c65 diff --git a/audiod.c b/audiod.c index 3a2607de..ce5bc551 100644 --- a/audiod.c +++ b/audiod.c @@ -286,7 +286,7 @@ static void setup_signal_handling(void) para_install_sighandler(SIGINT); para_install_sighandler(SIGTERM); para_install_sighandler(SIGHUP); - signal(SIGPIPE, SIG_IGN); + para_sigaction(SIGPIPE, SIG_IGN); } static void clear_slot(int slot_num) @@ -382,7 +382,7 @@ static void open_filters(int slot_num) PARA_INFO_LOG("opening %s filters\n", audio_formats[s->format]); s->fc = para_calloc(sizeof(struct filter_chain)); s->fc->filter_nodes = para_malloc(nf * sizeof(struct filter_node)); - s->fc->inbuf = s->receiver_node->buf; + s->fc->inbufp = &s->receiver_node->buf; s->fc->in_loaded = &s->receiver_node->loaded; s->fc->input_error = &s->receiver_node->task.error; s->fc->task.pre_select = filter_pre_select; @@ -402,7 +402,7 @@ static void open_filters(int slot_num) f->open(fn); PARA_NOTICE_LOG("%s filter %d/%d (%s) started in slot %d\n", audio_formats[s->format], i, nf, f->name, slot_num); - s->fc->outbuf = fn->buf; + s->fc->outbufp = &fn->buf; s->fc->out_loaded = &fn->loaded; } register_task(&s->fc->task); @@ -420,7 +420,7 @@ static void open_writers(int slot_num) else s->wng = wng_new(a->num_writers); if (s->fc) { - s->wng->buf = s->fc->outbuf; + s->wng->bufp = s->fc->outbufp; s->wng->loaded = s->fc->out_loaded; s->wng->input_error = &s->fc->task.error; s->wng->channels = &s->fc->channels; @@ -428,7 +428,7 @@ static void open_writers(int slot_num) s->fc->output_error = &s->wng->task.error; PARA_INFO_LOG("samplerate: %d\n", *s->wng->samplerate); } else { - s->wng->buf = s->receiver_node->buf; + s->wng->bufp = &s->receiver_node->buf; s->wng->loaded = &s->receiver_node->loaded; s->wng->input_error = &s->receiver_node->task.error; } @@ -437,10 +437,8 @@ static void open_writers(int slot_num) s->wng->writer_nodes[i].writer = a->writers[i]; } ret = wng_open(s->wng); - if (ret < 0) { - PARA_ERROR_LOG("%s\n", para_strerror(-ret)); + if (ret < 0) return; - } s->wstime = *now; s->server_stream_start = stat_task->server_stream_start.tv_sec? stat_task->server_stream_start : *now;