[pulseaudio-discuss] [PATCH 3/5] udev-detect: Add sync_volume parameter

oku at iki.fi oku at iki.fi
Wed Oct 13 09:40:20 PDT 2010


From: Jyri Sarha <jyri.sarha at nokia.com>

Signed-off-by: Jyri Sarha <jyri.sarha at nokia.com>
Reviewed-by: Tanu Kaskinen <tanu.kaskinen at digia.com>
---
 src/modules/module-udev-detect.c |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/src/modules/module-udev-detect.c b/src/modules/module-udev-detect.c
index f143c28..775094d 100644
--- a/src/modules/module-udev-detect.c
+++ b/src/modules/module-udev-detect.c
@@ -45,7 +45,8 @@ PA_MODULE_VERSION(PACKAGE_VERSION);
 PA_MODULE_LOAD_ONCE(TRUE);
 PA_MODULE_USAGE(
         "tsched=<enable system timer based scheduling mode?> "
-        "ignore_dB=<ignore dB information from the device?>");
+        "ignore_dB=<ignore dB information from the device?> "
+        "sync_volume=<syncronize sw and hw voluchanges in IO-thread?>");
 
 struct device {
     char *path;
@@ -62,6 +63,7 @@ struct userdata {
 
     pa_bool_t use_tsched:1;
     pa_bool_t ignore_dB:1;
+    pa_bool_t sync_volume:1;
 
     struct udev* udev;
     struct udev_monitor *monitor;
@@ -74,6 +76,7 @@ struct userdata {
 static const char* const valid_modargs[] = {
     "tsched",
     "ignore_dB",
+    "sync_volume",
     NULL
 };
 
@@ -386,12 +389,14 @@ static void card_changed(struct userdata *u, struct udev_device *dev) {
                                 "namereg_fail=false "
                                 "tsched=%s "
                                 "ignore_dB=%s "
+                                "sync_volume=%s "
                                 "card_properties=\"module-udev-detect.discovered=1\"",
                                 path_get_card_id(path),
                                 n,
                                 d->card_name,
                                 pa_yes_no(u->use_tsched),
-                                pa_yes_no(u->ignore_dB));
+                                pa_yes_no(u->ignore_dB),
+                                pa_yes_no(u->sync_volume));
     pa_xfree(n);
 
     pa_hashmap_put(u->devices, d->path, d);
@@ -661,7 +666,8 @@ int pa__init(pa_module *m) {
     struct udev_enumerate *enumerate = NULL;
     struct udev_list_entry *item = NULL, *first = NULL;
     int fd;
-    pa_bool_t use_tsched = TRUE, ignore_dB = FALSE;
+    pa_bool_t use_tsched = TRUE, ignore_dB = FALSE, sync_volume = FALSE;
+
 
     pa_assert(m);
 
@@ -687,6 +693,12 @@ int pa__init(pa_module *m) {
     }
     u->ignore_dB = ignore_dB;
 
+    if (pa_modargs_get_value_boolean(ma, "sync_volume", &sync_volume) < 0) {
+        pa_log("Failed to parse sync_volume= argument.");
+        goto fail;
+    }
+    u->sync_volume = sync_volume;
+
     if (!(u->udev = udev_new())) {
         pa_log("Failed to initialize udev library.");
         goto fail;
-- 
1.7.0.4




More information about the pulseaudio-discuss mailing list