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. -- Tanu