[pulseaudio-discuss] [PATCH 1/6] modargs: Add pa_modargs_get_resample_method()

Peter Meerwald pmeerw at pmeerw.net
Wed Aug 7 23:19:33 PDT 2013


From: Peter Meerwald <p.meerwald at bct-electronic.com>

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.8.3.4



More information about the pulseaudio-discuss mailing list