RFC: Filter module loader

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Here is my first draft of a filter module to automatically load
equalizer and/or echo-cancel modules if automagically and in a manual
but convenient way.

Essentially you just set the "filter.want" property on the stream and it
should be magically used. It just tries to load a module with the same
name as the filter.want value but with "module-" prepended to it. So if
you set filter.want=echo-cancel, it will be automatically loaded and the
stream will be moved to it. When the filter sink is no longer needed it
will be automatically unloaded.

For the automagical bit, a separate module will simply automatically set
the filter.want property and set it to echo-cancel for phone streams. If
you want to suppress the automatic loading of a filter sink module, just
set filter.suppress property equal to the module you want to suppress.
e.g. Skype should probably set filter.suppress=echo-cancel.

One thing that I've not really considered is how to deal with the fact
that echo-cancel is probably only needed when the external mic and
speakers are used.... so there may need to be more smarts added to deal
with this, but I'm not really all that clued up on when this should or
shouldn't be used.

I plan to add a couple buttons next to streams in pavucontrol that
toggles manually the equalizer and maybe also echo-cancel too.


Comments welcome. I've not really self-reviewed it too much, so probably
a couple howlers in there :) (I'll move the prop name defines into the
central file that has some common property names before committing)

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/]
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-filter-apply-New-module-to-automatically-load-filter.patch
Type: text/x-patch
Size: 14434 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20110415/8e9da63e/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-filter-heuristics-New-module-that-applies-some-basic.patch
Type: text/x-patch
Size: 5093 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20110415/8e9da63e/attachment-0001.bin>


[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux