From 08953564bb85356869a1f043b82d1f365c8729a1 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 17 Sep 2004 20:43:40 +0000 Subject: add --resample-method argument git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@214 fefdeb5f-60dc-0310-8127-8f9354f1896f --- polyp/daemon-conf.c | 57 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 38 insertions(+), 19 deletions(-) (limited to 'polyp/daemon-conf.c') diff --git a/polyp/daemon-conf.c b/polyp/daemon-conf.c index a3185364..6dcd540d 100644 --- a/polyp/daemon-conf.c +++ b/polyp/daemon-conf.c @@ -110,41 +110,60 @@ void pa_daemon_conf_free(struct pa_daemon_conf *c) { pa_xfree(c); } -int parse_log_target(const char *filename, unsigned line, const char *lvalue, const char *rvalue, void *data, void *userdata) { - struct pa_daemon_conf *c = data; - assert(filename && lvalue && rvalue && data); - - if (!strcmp(rvalue, "auto")) +int pa_daemon_conf_set_log_target(struct pa_daemon_conf *c, const char *string) { + assert(c && string); + + if (!strcmp(string, "auto")) c->auto_log_target = 1; - else if (!strcmp(rvalue, "syslog")) { + else if (!strcmp(string, "syslog")) { c->auto_log_target = 0; c->log_target = PA_LOG_SYSLOG; - } else if (!strcmp(rvalue, "stderr")) { + } else if (!strcmp(string, "stderr")) { c->auto_log_target = 0; c->log_target = PA_LOG_STDERR; - } else { - pa_log(__FILE__": [%s:%u] Invalid log target '%s'.\n", filename, line, rvalue); + } else return -1; - } return 0; + } -int parse_resample_method(const char *filename, unsigned line, const char *lvalue, const char *rvalue, void *data, void *userdata) { - struct pa_daemon_conf *c = data; - assert(filename && lvalue && rvalue && data); +int pa_daemon_conf_set_resample_method(struct pa_daemon_conf *c, const char *string) { + assert(c && string); - if (!strcmp(rvalue, "sinc-best-quality")) + if (!strcmp(string, "sinc-best-quality")) c->resample_method = SRC_SINC_BEST_QUALITY; - else if (!strcmp(rvalue, "sinc-medium-quality")) + else if (!strcmp(string, "sinc-medium-quality")) c->resample_method = SRC_SINC_MEDIUM_QUALITY; - else if (!strcmp(rvalue, "sinc-fastest")) + else if (!strcmp(string, "sinc-fastest")) c->resample_method = SRC_SINC_FASTEST; - else if (!strcmp(rvalue, "zero-order-hold")) + else if (!strcmp(string, "zero-order-hold")) c->resample_method = SRC_ZERO_ORDER_HOLD; - else if (!strcmp(rvalue, "linear")) + else if (!strcmp(string, "linear")) c->resample_method = SRC_LINEAR; - else { + else + return -1; + + return 0; +} + +int parse_log_target(const char *filename, unsigned line, const char *lvalue, const char *rvalue, void *data, void *userdata) { + struct pa_daemon_conf *c = data; + assert(filename && lvalue && rvalue && data); + + if (pa_daemon_conf_set_log_target(c, rvalue) < 0) { + pa_log(__FILE__": [%s:%u] Invalid log target '%s'.\n", filename, line, rvalue); + return -1; + } + + return 0; +} + +int parse_resample_method(const char *filename, unsigned line, const char *lvalue, const char *rvalue, void *data, void *userdata) { + struct pa_daemon_conf *c = data; + assert(filename && lvalue && rvalue && data); + + if (pa_daemon_conf_set_resample_method(c, rvalue) < 0) { pa_log(__FILE__": [%s:%u] Inavalid resample method '%s'.\n", filename, line, rvalue); return -1; } -- cgit