snd_pcm_sw_params_t *swparams;
snd_pcm_uframes_t start_threshold, stop_threshold;
snd_pcm_uframes_t buffer_size, period_size;
- snd_output_t *log;
+ snd_output_t *output_log;
unsigned buffer_time;
int ret;
const char *msg;
ret = snd_pcm_nonblock(pad->handle, 1);
if (ret < 0)
goto fail;
- ret = snd_output_buffer_open(&log);
+ ret = snd_output_buffer_open(&output_log);
if (ret == 0) {
char *buf;
PARA_INFO_LOG("dumping alsa configuration\n");
- snd_pcm_dump(pad->handle, log);
- snd_output_buffer_string(log, &buf);
+ snd_pcm_dump(pad->handle, output_log);
+ snd_output_buffer_string(output_log, &buf);
for (;;) {
char *p = strchr(buf, '\n');
if (!p) /* omit last output line, it's empty */
PARA_INFO_LOG("%s\n", buf);
buf = p + 1;
}
- snd_output_close(log);
+ snd_output_close(output_log);
}
return 1;
fail:
ret = -E_ALSA;
err:
assert(ret < 0);
- btr_remove_node(btrn);
+ btr_remove_node(&wn->btrn);
t->error = ret;
}
-__malloc static void *alsa_parse_config_or_die(const char *options)
+__malloc static void *alsa_parse_config_or_die(int argc, char **argv)
{
struct alsa_write_args_info *conf = para_calloc(sizeof(*conf));
/* exits on errors */
- alsa_cmdline_parser_string(options, conf, "alsa_write");
+ alsa_write_cmdline_parser(argc, argv, conf);
return conf;
}
static void alsa_free_config(void *conf)
{
- alsa_cmdline_parser_free(conf);
+ alsa_write_cmdline_parser_free(conf);
}
/**
{
struct alsa_write_args_info dummy;
- alsa_cmdline_parser_init(&dummy);
+ alsa_write_cmdline_parser_init(&dummy);
w->close = alsa_close;
w->pre_select = alsa_write_pre_select;
w->post_select = alsa_write_post_select;
.short_help = alsa_write_args_info_help,
.detailed_help = alsa_write_args_info_detailed_help
};
- alsa_cmdline_parser_free(&dummy);
+ alsa_write_cmdline_parser_free(&dummy);
}