From: Peter Meerwald <p.meerwald@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Meerwald <p.meerwald at bct-electronic.com> --- src/pulsecore/modargs.c | 18 ++++++++++++++++++ src/pulsecore/modargs.h | 4 ++++ 2 files changed, 22 insertions(+) diff --git a/src/pulsecore/modargs.c b/src/pulsecore/modargs.c index 09ca9fc..7133906 100644 --- a/src/pulsecore/modargs.c +++ b/src/pulsecore/modargs.c @@ -428,6 +428,24 @@ int pa_modargs_get_channel_map(pa_modargs *ma, const char *name, pa_channel_map return 0; } +int pa_modargs_get_resample_method(pa_modargs *ma, pa_resample_method_t *rmethod) { + const char *m; + + pa_assert(ma); + pa_assert(rmethod); + + if ((m = pa_modargs_get_value(ma, "resample_method", NULL))) { + pa_resample_method_t method = pa_parse_resample_method(m); + + if (method == PA_RESAMPLER_INVALID) + return -1; + + *rmethod = method; + } + + return 0; +} + int pa_modargs_get_sample_spec_and_channel_map( pa_modargs *ma, pa_sample_spec *rss, diff --git a/src/pulsecore/modargs.h b/src/pulsecore/modargs.h index 95be54d..274e943 100644 --- a/src/pulsecore/modargs.h +++ b/src/pulsecore/modargs.h @@ -28,6 +28,7 @@ #include <pulse/proplist.h> #include <pulse/volume.h> #include <pulsecore/macro.h> +#include <pulsecore/resampler.h> typedef struct pa_modargs pa_modargs; @@ -58,6 +59,9 @@ int pa_modargs_get_sample_spec(pa_modargs *ma, pa_sample_spec *ss); /* Return channel map data from the argument "channel_map" if name is NULL, otherwise read from the specified argument */ int pa_modargs_get_channel_map(pa_modargs *ma, const char *name, pa_channel_map *map); +/* Return resample method from the argument "resample_method" */ +int pa_modargs_get_resample_method(pa_modargs *ma, pa_resample_method_t *method); + /* Combination of pa_modargs_get_sample_spec() and pa_modargs_get_channel_map(). Not always suitable, since this routine initializes the map parameter based on the channels field of the ss -- 1.7.9.5