filters: Handle echo-cancel streams better
authorArun Raghavan <arun.raghavan@collabora.co.uk>
Thu, 17 Nov 2011 14:31:59 +0000 (20:01 +0530)
committerArun Raghavan <arun.raghavan@collabora.co.uk>
Thu, 24 Nov 2011 07:33:26 +0000 (13:03 +0530)
commitfabb28f935118d8d88e76f1d47726c283c2a9c8d
treecd64eee868655aec6f736b64f8936ad86f235389
parent1798c653db696a9d44bbcec469e672829bb0231d
filters: Handle echo-cancel streams better

This makes handling of echo-cancel streams (and potentially other
filters that need to work with multiple streams) cleaner. We do this by
adding the ability to apply filter on a group of streams rather than
always treating streams individually.

This is required, for example, when changing the input source for an
echo-cancel source output. When this happens, we want to change the
module-echo-cancel instance to actually cancel between the new source
and old sink.

To do this when one stream in a group moves, we create a new filter
instance between the current master sink/source pair and move the
relevant streams to the virtual sink/source from this new instance.
src/modules/module-filter-apply.c