Lines Matching defs:trigger_role
78 const char *role, *trigger_role;
88 PA_IDXSET_FOREACH(trigger_role, u->groups[j]->trigger_roles, role_idx) {
89 if (pa_streq(role, trigger_role))
90 return trigger_role;
94 PA_IDXSET_FOREACH(trigger_role, g->trigger_roles, role_idx) {
95 if (pa_streq(role, trigger_role))
96 return trigger_role;
106 const char *trigger_role;
115 if (!(trigger_role = get_trigger_role(u, PA_OBJECT(j), g)))
121 return trigger_role;
125 return trigger_role;
133 const char *trigger_role = NULL;
142 if ((trigger_role = find_trigger_stream(u, PA_OBJECT(sink), ignore_stream, g)))
145 if (!u->source_trigger || trigger_role)
146 return trigger_role;
149 if ((trigger_role = find_trigger_stream(u, PA_OBJECT(source), ignore_stream, g)))
152 return trigger_role;
155 static void cork_or_duck(struct userdata *u, pa_sink_input *i, const char *interaction_role, const char *trigger_role, bool interaction_applied, struct group *g) {
162 pa_log_debug("Found a '%s' stream of '%s' that ducks a '%s' stream.", trigger_role, g->name, interaction_role);
166 pa_log_debug("Found a '%s' stream that corks/mutes a '%s' stream.", trigger_role, interaction_role);
238 static void apply_interaction_global(struct userdata *u, const char *trigger_role, pa_sink_input *ignore_stream, bool new_stream, struct group *g) {
245 apply_interaction_to_sink(u, s, trigger_role, ignore_stream, new_stream, g);
268 const char *trigger_role;
292 trigger_role = find_global_trigger_stream(u, create ? NULL : stream, u->groups[j]);
293 apply_interaction_global(u, trigger_role, create ? NULL : (pa_sink_input_isinstance(stream) ? PA_SINK_INPUT(stream) : NULL), new_stream, u->groups[j]);
295 trigger_role = find_trigger_stream(u, GET_DEVICE_FROM_STREAM(stream), create ? NULL : stream, u->groups[j]);
297 apply_interaction_to_sink(u, PA_SINK_INPUT(stream)->sink, trigger_role, create ? NULL : PA_SINK_INPUT(stream), new_stream, u->groups[j]);