[pulseaudio-discuss] How to set media role variable ??

Tanu Kaskinen tanu.kaskinen at linux.intel.com
Tue Nov 19 02:33:07 PST 2013

On Tue, 2013-11-19 at 14:57 +0530, sathishkumar sivagurunathan wrote:
> Thanks Tanu,
> What I want to do is something like this.
> 1) The task is very similar to the module-role-cork.. Ex:- when a call
> comes from skype, if I am playing rhythmbox, it should pause and after I
> finish the call, it should restart. The skype and rhythmbox are managed by
> a Audio Manager.
> 2) The applications that I use (like skype and rhythmbox) might not have
> the media role property.
> 3) In such a case, how to assign media roles to them..
> 4) The Audio Manager or routing engine has the information about the media
> role variable..
> The above points are the things I want to acheive..
> *" Essentially, if I write a module, it should take the media role
> information from Audio Manager and set the media role variable in pulse
> audio.."*
> Is this what you implied when you replied you have to write a module
> (written within quotes and faced in bold)??

Well, I had no knowledge of there being any Audio Manager software, so
naturally I didn't imply that the module would take information from
such software, but if there must be a separate Audio Manager, then yes,
the module would take input from the Audio Manager and set the media
role variables according to the input.

> Are there any other ways to do
> it ??

I assume that the information about how to map streams to media roles is
pretty static, so perhaps the module doesn't need to have a connection
to the Audio Manager. Instead, the module could have its own
configuration file that tells how to map streams to media roles. But if
you want to keep the configuration in the Audio Manager, then the module
should connect to the Audio Manager.

Note that upstream PulseAudio doesn't support writing out-of-tree
modules, so if you want to write a module, you need to modify
PulseAudio. One option is to modify the build system so that the
internal headers are installed so that they're available to external
code - this is what e.g. Tizen and Sailfish do to facilitate their
custom PulseAudio modules. If you don't need to keep your module
separate from the PulseAudio source, you can of course add the module
directly to the PulseAudio sources, so the build system doesn't need to
be modified (except to the extent that it builds your module).

The optimal solution would be that you would upstream your module, so
you wouldn't have to maintain a modified version PulseAudio, you
wouldn't have to port the module whenever you update PulseAudio, and
also other people than you would get benefit from the module. This
option requires that you convince us that it makes sense for us to take
and maintain your module. If this is what you want, then we need to
discuss the details of what the module does.


More information about the pulseaudio-discuss mailing list