- PARA_INFO_LOG("%s\n", PARA_STRERROR(-t->ret));
- unregister_task(t);
- if (t->ret == -E_WAV_HEADER_SUCCESS) {
- conf.channels_arg = cwt.channels;
- conf.sample_rate_arg = cwt.sample_rate;
- }
- idt.task.pre_select = initial_delay_pre_select;
- idt.task.private_data = &idt;
- idt.task.error_handler = idt_error_handler;
- sprintf(idt.task.status, "initial_delay");
- register_task(&idt.task);
-}
-
-static void stdin_error_handler(struct task *t)
-{
- unregister_task(t);
- if (t->ret != -E_STDIN_EOF)
- PARA_ERROR_LOG("%s\n", PARA_STRERROR(-t->ret));
- else
- PARA_ERROR_LOG("%s\n", PARA_STRERROR(-t->ret));
-}
-
-int main(int argc, char *argv[])
-{
- int ret = -E_WRITE_SYNTAX;
- struct sched s;
-
- cmdline_parser(argc, argv, &conf);
- wng = check_args();
- if (!wng)
- goto out;
- init_supported_writers();
- init_sched();
-
- sit.bufsize = 16 * 1024,
- sit.buf = para_malloc(16 * 1024),
- sit.loaded = 0,
- sit.task.pre_select = stdin_pre_select;
- sit.task.post_select = stdin_post_select;
- sit.task.error_handler = stdin_error_handler;
- sit.task.private_data = &sit;
- sprintf(sit.task.status, "stdin reader");
- register_task(&sit.task);
-
- cwt.task.pre_select = check_wav_pre_select;
- cwt.task.private_data = &cwt;
- cwt.task.error_handler = cwt_error_handler;
- cwt.buf = sit.buf;
- cwt.loaded = &sit.loaded;
- cwt.eof = &sit.eof;
- sprintf(cwt.task.status, "check wav");
- register_task(&cwt.task);
-
- s.default_timeout.tv_sec = 1;
- s.default_timeout.tv_usec = 0;
- ret = sched(&s);
-
-out:
- if (ret < 0) {
- PARA_ERROR_LOG("%s\n", PARA_STRERROR(-ret));
- ret = EXIT_FAILURE;
- } else
- ret = EXIT_SUCCESS;
- return ret;