filter-apply: support group of filters 31/118231/10
authorKimJeongYeon <jeongyeon.kim@samsung.com>
Thu, 9 Mar 2017 08:17:12 +0000 (17:17 +0900)
committerKimJeongYeon <jeongyeon.kim@samsung.com>
Wed, 29 Mar 2017 08:16:13 +0000 (17:16 +0900)
commit58ba9215ea0e1aa2cda2b966464ee25b9fad1be3
tree5ac4bbc035bc5370c7dbe64e8673bfd7f541a00c
parent1fb5b458df09fa2e894aea192c80f5571e8584e0
filter-apply: support group of filters

Currently, filter-apply manages filters using name of filter module and master sink.
Even if a filter able to load various plugins, it cannot run as multiple instances.
New 'group' of filter will provide to run multiple instances in this case.

For example,
a filter group 'group1' of module-ladspa-sink has opened 'ladspa1' plugin.
Other group 'group2' able to open 'ladspa2' plugin in same time.
e.g) paplay file1.wav --property=filter.apply=ladspa-sink \
                      --property=filter.apply.extra.group=group1 \
                      --property=filter.apply.extra.parameters="plugin=ladspa1 label=stereo control=0"
     paplay file2.wav --property=filter.apply=ladspa-sink \
                      --property=filter.apply.extra.group=group2 \
                      --property=filter.apply.extra.parameters="plugin=ladspa2 label=stereo control=0"

Changes in v1:
    * add group of filters.

Changes in v2:
    * Use pa_safe_streq() instead of strcmp().
    * Fix typos.

Changes in v3:
    * To clarify meaning, rename should_group_filter() to is_duplex_filter().
    * Remove unnecessary 'extra' word from module-filter-apply.c.

[Version] 5.0.115
[Profile] Common
[Issue Type] New Feature

Signed-off-by: KimJeongYeon <jeongyeon.kim@samsung.com>
Change-Id: I6730e4070e0d296db1e879cb18ba2e5a63c67a18
packaging/pulseaudio.spec
src/modules/module-filter-apply.c
src/pulse/proplist.h