[PATCH 3/9] role-cork: allow cork of all non-trigger streams using cork_roles=any_role

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



There might be situations where you want to cork all streams that are not
trigger streams. Use cork_roles=any_role to implement this.
---
 src/modules/module-role-cork.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/modules/module-role-cork.c b/src/modules/module-role-cork.c
index 2c0a88e..f689c39 100644
--- a/src/modules/module-role-cork.c
+++ b/src/modules/module-role-cork.c
@@ -124,6 +124,8 @@ static inline void apply_cork_to_sink(struct userdata *u, pa_sink *s, pa_sink_in
         PA_IDXSET_FOREACH(cork_role, u->cork_roles, role_idx) {
             if ((trigger = pa_streq(role, cork_role)))
                 break;
+            if ((trigger = (pa_streq(cork_role, "any_role") && !is_trigger_stream(u, j))))
+               break;
         }
         if (!trigger)
             continue;
@@ -132,7 +134,7 @@ static inline void apply_cork_to_sink(struct userdata *u, pa_sink *s, pa_sink_in
         corked_here = !!pa_hashmap_get(u->cork_state, j);
 
         if (cork && !corked && !j->muted) {
-            pa_log_debug("Found a '%s' stream that should be corked/muted.", cork_role);
+            pa_log_debug("Found a '%s' stream that should be corked/muted.", role);
             if (!corked_here)
                 pa_hashmap_put(u->cork_state, j, PA_INT_TO_PTR(1));
             pa_sink_input_set_mute(j, true, false);
@@ -141,7 +143,7 @@ static inline void apply_cork_to_sink(struct userdata *u, pa_sink *s, pa_sink_in
             pa_hashmap_remove(u->cork_state, j);
 
             if (corked_here && (corked || j->muted)) {
-                pa_log_debug("Found a '%s' stream that should be uncorked/unmuted.", cork_role);
+                pa_log_debug("Found a '%s' stream that should be uncorked/unmuted.", role);
                 if (j->muted)
                     pa_sink_input_set_mute(j, false, false);
                 if (corked)
-- 
2.1.4



[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux