On 23.03.2015 06:27, Georg Chini wrote: > On 23.03.2015 05:01, Arun Raghavan wrote: >> On 22 March 2015 at 18:55, Georg Chini <georg at chini.tk> wrote: >>> This patch set combines the functionality of module-role-cork and >>> module-role-ducking. >>> Module name is still module-role-cork (module-role-cork-duck somehow >>> sounds a bit >>> like module-rubber-duck ...). >>> If you specify a volume, streams will be ducked, otherwise >>> muted/corked. >>> It also adds support for streams without media.role and reacts to >>> mute/cork >>> changes of the trigger stream and to property list changes. >>> >>> Georg Chini (3): >>> role-cork: Don't ignore streams without media.role >>> role-cork: React to mute/cork of trigger streams and to proplist >>> changes >>> role-cork: combine module-role-ducking and module-role-cork >>> >>> src/modules/module-role-cork.c | 141 >>> ++++++++++++++++++++++++++++++++--------- >>> 1 file changed, 111 insertions(+), 30 deletions(-) >>> >>> -- >> I wouldn't mind some consolidation there but it seems like you can >> either cork or duck, but not both? A fairly standard case I can think >> of that needs this is something like - event over music => duck, phone >> over music => cork. >> > Basically I see three ways how to achieve this: > > 1) Remove the "load once" restriction so that you can use one instance > for corking and another for ducking (I'll test this later today) > 2) Add additional parameters "duck_trigger_roles" and "duck_roles" > 3) Keep two separate modules > > What would you prefer? > I tested 1) and it works fine.