]> code.delx.au - pulseaudio/commitdiff
modargs: Adding pa_modargs_get_value_volume()
authorFlavio Ceolin <flavio.ceolin@profusion.mobi>
Thu, 29 Nov 2012 13:04:12 +0000 (11:04 -0200)
committerTanu Kaskinen <tanuk@iki.fi>
Wed, 19 Dec 2012 10:31:47 +0000 (12:31 +0200)
This function gets a pa_volume_t from a string.

src/pulsecore/modargs.c
src/pulsecore/modargs.h

index af9fabf5065a065a3e13ca05868e0225fa55a299..e86ffa551426b2ec94dea684ec8f3c067e001fcb 100644 (file)
@@ -350,6 +350,20 @@ int pa_modargs_get_value_double(pa_modargs *ma, const char *key, double *value)
     return 0;
 }
 
+int pa_modargs_get_value_volume(pa_modargs *ma, const char *key, pa_volume_t *value) {
+    const char *v;
+
+    pa_assert(value);
+
+    if (!(v = pa_modargs_get_value(ma, key, NULL)))
+        return 0;
+
+    if (pa_parse_volume(v, value) < 0)
+        return -1;
+
+    return 0;
+}
+
 int pa_modargs_get_sample_spec(pa_modargs *ma, pa_sample_spec *rss) {
     const char *format;
     uint32_t channels;
index 5da9cf119b7af829d245c065666c756d663b4b8a..c1345ea2434bd424e41087c224023aeec5dd1db4 100644 (file)
@@ -26,6 +26,7 @@
 #include <pulse/sample.h>
 #include <pulse/channelmap.h>
 #include <pulse/proplist.h>
+#include <pulse/volume.h>
 #include <pulsecore/macro.h>
 
 typedef struct pa_modargs pa_modargs;
@@ -48,6 +49,9 @@ int pa_modargs_get_value_boolean(pa_modargs *ma, const char *key, pa_bool_t *val
 /* Return a module argument as double value in *value */
 int pa_modargs_get_value_double(pa_modargs *ma, const char *key, double *value);
 
+/* Return a module argument as pa_volume_t value in *value */
+int pa_modargs_get_value_volume(pa_modargs *ma, const char *key, pa_volume_t *value);
+
 /* Return sample spec data from the three arguments "rate", "format" and "channels" */
 int pa_modargs_get_sample_spec(pa_modargs *ma, pa_sample_spec *ss);