pulseaudio/src/pulse
Arun Raghavan ceca42f706 filters: Handle stream moves properly
This makes sure that we handle streams moving between sinks properly. To
do this, we change the way the filter.* properties are handled a little
bit.

Firstly, this splits up the "filter.apply" property into two properties
- "filter.want" and "filter.apply". "filter.apply" acts as before - it
bypasses module-filter-heuristics and directly tells module-filter-apply
what filters are to be applied.

"filter.want" is used to tell module-filter-heuristics what filters the
client wants. The module then decides whether to actually apply the
filter or not (for now, this makes sure we don't apply echo-cancellation
even if requested on phone sinks (where it is assumed AEC is taken care
of or is not required).

Next, we also make sure that we track whether the client set
"filter.apply" or module-filter-heuristics did - and in the latter case,
we recalculate "filter.apply" and then have module-filter-apply apply
the filter if required. This introduces some evil in the form of causing
the move_finish callback to possibly trigger another move, but we
protect for this case (with a property) to be doubly sure of not causing
an infinite loop.
2011-04-23 18:23:38 +01:00
..
.gitignore add another .gitignore file, this time for pulse/ 2008-06-18 00:47:32 +02:00
browser.c Fixup #include directives according to Coding Style 2011-03-11 11:49:39 +00:00
browser.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
cdecl.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
channelmap.c channelmap: Use "Subwoofer" as pretty name for LFE 2010-02-21 17:48:36 +01:00
channelmap.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
client-conf-x11.c x11: Use the default screen for X11 properties. 2010-09-18 12:05:38 +01:00
client-conf-x11.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
client-conf.c client: introduce auto-connect-display= following the scheme of auto-connect-localhost= 2010-01-13 22:15:52 +01:00
client-conf.h client: introduce auto-connect-display= following the scheme of auto-connect-localhost= 2010-01-13 22:15:52 +01:00
client.conf.in client.conf.in: Typo. s/a/are/ 2010-02-02 09:02:21 +01:00
context.c Fixup #include directives according to Coding Style 2011-03-11 11:49:39 +00:00
context.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
def.h Implement the "volume sharing" feature. 2011-02-26 10:37:20 +00:00
error.c libpulse: add new error code PA_ERR_BUSY 2009-09-11 01:20:45 +02:00
error.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
ext-device-manager.c Fixup #include directives according to Coding Style 2011-03-11 11:49:39 +00:00
ext-device-manager.h device-manager: Update docs version -> 0.9.20 2009-11-11 17:24:57 +00:00
ext-stream-restore.c Fixup #include directives according to Coding Style 2011-03-11 11:49:39 +00:00
ext-stream-restore.h libpulse: add missing includes 2009-10-12 21:21:26 +02:00
fork-detect.c add pa_assert_cc() for compile time assertions 2009-03-23 21:03:52 +01:00
fork-detect.h try to detect when stupid clients forks and refuse all service from then on 2009-03-05 04:33:40 +01:00
gccmacro.h Get rid of some warnings 2011-03-20 11:35:38 +00:00
glib-mainloop.c Fix up some double spaces 2011-03-18 09:20:07 +00:00
glib-mainloop.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
i18n.c add i18n support 2008-08-06 18:54:13 +02:00
i18n.h import version.h in all header files to make sure that version-based feature testing works 2009-01-27 02:36:42 +01:00
internal.h dbus: remove filter functions only if they were actually set before 2010-02-09 22:28:17 +00:00
introspect.c sink-input: Add volume_writable to pa_sink_input. 2011-03-29 21:18:06 +01:00
introspect.h sink-input: Add volume_writable to pa_sink_input. 2011-03-29 21:18:06 +01:00
mainloop-api.c don't use PA_GCC_UNUSED anymore 2008-08-09 16:20:29 +02:00
mainloop-api.h Fix up some double spaces 2011-03-18 09:20:07 +00:00
mainloop-signal.c use cloexec wrappers wherever applicable 2009-10-30 03:32:38 +01:00
mainloop-signal.h Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
mainloop.c Fix pa_rtclock_from_wallclock 2011-03-19 13:41:05 +01:00
mainloop.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
operation.c Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
operation.h client: extend documentation on pa_operation_cancel() a bit 2009-08-03 23:07:59 +02:00
proplist.c Merge branch 'master' of git://0pointer.de/pulseaudio into dbus-work 2009-08-30 20:07:31 +03:00
proplist.h filters: Handle stream moves properly 2011-04-23 18:23:38 +01:00
pulseaudio.h doxygen: add rtclock.h to documentation 2009-09-11 01:49:39 +02:00
rtclock.c win32: Implement rtclock based on QueryPerformanceCounter 2011-02-17 12:02:31 +01:00
rtclock.h rtclock: document that we fallback to wallclock time if monotonic time is not supported 2009-06-23 00:15:57 +02:00
sample.c sample: manually inline table lookups 2009-08-20 11:31:04 +02:00
sample.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
scache.c Fixup #include directives according to Coding Style 2011-03-11 11:49:39 +00:00
scache.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
simple.c simple: check for == RUNNING instead of != DONE when waiting for operations 2009-08-05 01:05:35 +02:00
simple.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
stream.c Fix up some double spaces 2011-03-18 09:20:07 +00:00
stream.h doc: Fix typo 2011-04-05 09:53:16 +01:00
subscribe.c Fixup #include directives according to Coding Style 2011-03-11 11:49:39 +00:00
subscribe.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
thread-mainloop.c Use pa_read, pa_write and pa_poll instead of system functions 2011-02-17 12:02:31 +01:00
thread-mainloop.h doxygen: Add 'See also' linking to the overview page 2010-10-13 09:07:39 +01:00
timeval.c win32: Implement rtclock based on QueryPerformanceCounter 2011-02-17 12:02:31 +01:00
timeval.h doxygen: Fix documentation typos 2010-10-13 09:07:39 +01:00
utf8.c utf8: minor simplification 2009-09-08 23:49:42 +02:00
utf8.h add new API pa_ascii_valid(), pa_ascii_filter() 2009-02-04 17:11:56 +01:00
util.c util: Implement pa_get_binary_name() for Mac OS X 2011-04-23 18:23:37 +01:00
util.h util: if NULL is passed to pa_path_get_filename() just hand it through 2009-04-19 19:02:16 +02:00
version.h.in version: Drop the micro version number 2010-11-28 15:56:20 +00:00
volume.c Fix up some double spaces 2011-03-18 09:20:07 +00:00
volume.h volume: Add a PA_VOLUME_UI_MAX define for the recommended max volume to show in UIs 2011-03-03 13:28:39 +00:00
xmalloc.c Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
xmalloc.h malloc: implement pa_xrenew() 2009-06-17 03:07:42 +02:00