[pulseaudio-discuss] dynamic routing through pulse audio

Colin Guthrie gmane at colin.guthr.ie
Thu Jun 2 11:07:58 PDT 2011


'Twas brillig, and Himanshu Chug at 02/06/11 14:29 did gyre and gimble:
> Thanks Colin. got your point here.
> Now similar to music cork over phone, I need to cork the stream with
> role="event" when another stream with role="phone" becomes active.
> (here event can be sms alert etc)  , Do I need to write any new module
> for this? or this can be achieved some how, any pointers can be helpful?

Initially I'd suggest that you could modify cork-music-on-phone to be
more generic (I've a funny feeling I've suggested this to someone before
too), perhaps renaming it to module-auto-cork or something suitably
generic. Then make it configurable which streams to cork and on which
triggers. e.g.

load-module module-auto-cork trigger_roles=phone,event
cork_roles=music,video

The defaults being "phone" for trigger_roles and "music,video" for
cork_roles.

But...

> I need to Play a Beep kind of sound when an "event" stream (say sms)
> came during active "phone" call stream and cork the actual "event"
> (sms tone) stream.
> 
> So there are two requirements now:
> 1. Cork the "event" stream during active "phone" stream.
> 2. Mixing the "phone" stream with new Beep stream.

OK, so now this gets a little more complicated. Ultimately you want to
change the event sound to something else... I think this specifically
requires a more specialised module.

Something that, when it finds an event stream while a phone stream is
active, actually plays a different, (much more subtle and unobtrusive)
sound (perhaps a sample in the sound sample cache?) instead.

I think this in particular is more specialise and thus has to be handled
before the module-auto-cork got it's hands on it.

For that reason, I'd suggest a module-event-suppress module, that works
in the following way:

load-module module-role-suppress suppress_roles="event"
suppression_sound=/path/to/sound.wav

This module would work pretty much like I describe above. On init, it
would load the suppression_sound (if present) into the sample cache and
then suppress any event sounds and instead play the sample cache.

I think this would work pretty well.

Col


-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
  Mageia Contributor [http://www.mageia.org/]
  PulseAudio Hacker [http://www.pulseaudio.org/]
  Trac Hacker [http://trac.edgewall.org/]



More information about the pulseaudio-discuss mailing list