David Henningsson [Tue, 17 Jan 2012 08:28:30 +0000 (09:28 +0100)]
alsa: Fix log message "synchronous volume" -> "deferred volume"
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Arun Raghavan [Tue, 17 Jan 2012 11:24:44 +0000 (16:54 +0530)]
alsa-mixer: Fix mixer path for AC3 profiles
The recent change to turn off the IEC958 element for analog paths
exposed a bug in AC3 profiles. These were inheriting the analog output
path instead of explicitly selecting the iec958 path.
Thanks to David Henningsson for pointing this out.
Tanu Kaskinen [Tue, 13 Dec 2011 19:57:03 +0000 (21:57 +0200)]
bluetooth: When receiving D-Bus errors, print also the error message.
Tanu Kaskinen [Tue, 13 Dec 2011 19:57:02 +0000 (21:57 +0200)]
dbus: New helper function: pa_dbus_get_error_message().
Peter Meerwald [Mon, 12 Dec 2011 09:59:46 +0000 (10:59 +0100)]
pulse: Turn the anonymous error code enum into pa_error_code_t.
The purpose is to make it possible to link to the
enumeration in doxygen.
Arun Raghavan [Sat, 14 Jan 2012 04:44:01 +0000 (10:14 +0530)]
stream: Clarify the sign of error return codes
The returned error values are all negative, but the documentation did
not explicitly mention this. Thanks to Vincent Penquerc'h for pointing
this out.
Arun Raghavan [Fri, 13 Jan 2012 04:10:04 +0000 (09:40 +0530)]
alsa-mixer: Turn off the IEC958 element for analog outputs
This is needed for the Creative Audigy CA0106 to work. Also makes sure
that the LED for optical out is shut down in analog modes on MacBooks
(these share a port for analog and digital output).
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=44741
Peter Meerwald [Mon, 9 Jan 2012 12:51:27 +0000 (13:51 +0100)]
sconv: Fix generation of floats in SSE test code
the random floats x should be zero-mean with -(1+eps)<x<(1+eps) for some
small epsilon; previously only negative x were generated
Peter Meerwald [Wed, 11 Jan 2012 16:41:00 +0000 (22:11 +0530)]
core: Fix log message about ARM feature detection
Peter Meerwald [Fri, 30 Dec 2011 21:28:31 +0000 (22:28 +0100)]
core: Fix return of pa_cpu_init_arm()
Peter Meerwald [Fri, 30 Dec 2011 21:28:30 +0000 (22:28 +0100)]
alsa: Mention correct ALSA function in debug log
Arun Raghavan [Wed, 11 Jan 2012 07:48:20 +0000 (13:18 +0530)]
orc: Another trivial documentation fix
Arun Raghavan [Wed, 11 Jan 2012 07:41:09 +0000 (13:11 +0530)]
orc: Trivial documentation typo fix
David Henningsson [Fri, 2 Dec 2011 17:14:18 +0000 (18:14 +0100)]
alsa-mixer: Refactor pa_alsa_profile_set_probe().
Increase readability of the pa_alsa_profile_set_probe function of
alsa-mixer.c
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
David Henningsson [Tue, 20 Dec 2011 08:16:02 +0000 (09:16 +0100)]
alsa-mixer: When selecting an input, turn off boosts of other inputs
Just like we turn off the "Front Mic" element when we select "Rear Mic",
we should also turn off the "Front Mic Boost" element. And the same for
the other inputs.
Reported-by: Len Owens <len@ovenwerks.net>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Arun Raghavan [Tue, 3 Jan 2012 18:47:29 +0000 (00:17 +0530)]
daemon: Drop --module-idle-time from docs
This option does not exist any more.
Arun Raghavan [Tue, 3 Jan 2012 18:19:09 +0000 (23:49 +0530)]
daemon: Fix *-idle-time arguments
--exit-idle-time and --scache-idle-time were marked as having an
optional argument when the argument is actually mandatory. This causes a
crash when using this argument.
Thanks to Matthijs Kooijman (blathijs on IRC) for pointing this out.
Pino Toscano [Mon, 14 Nov 2011 11:07:12 +0000 (12:07 +0100)]
pacmd: dynamically allocate ibuf and obuf
Use pa_pipe_buf to determine the minimum size for ibuf and obuf, taking into
account the two descriptors that use each of them.
See bug #42715
Pino Toscano [Mon, 14 Nov 2011 10:58:25 +0000 (11:58 +0100)]
mutex: handle gracefully if a PTHREAD_PRIO_INHERIT protocol cannot be set
This adds an additional check for unavailable PTHREAD_PRIO_INHERIT to the
fallback work done in
ca717643ee768307475fc36ea29d920a13db0a8e
See bug #42715
Pino Toscano [Mon, 14 Nov 2011 10:48:47 +0000 (11:48 +0100)]
module-rtp-recv: fail when SO_TIMESTAMP is not defined
SO_TIMESTAMP is not POSIX and not available in any platform, so just fail
if the current platform does not have it.
See bug #42715
Pino Toscano [Mon, 14 Nov 2011 10:44:43 +0000 (11:44 +0100)]
rtp: use the right type when checking cmsg_type
Use SCM_* instead of SO_* when checking the type of each cmsghdr.
See bug #42715
Pino Toscano [Mon, 14 Nov 2011 10:33:47 +0000 (11:33 +0100)]
pipe: use pa_pipe_buf instead of the macro PIPE_BUF
This helps when porting to platforms that lack PIPE_BUF.
See bug #42715
Arun Raghavan [Fri, 30 Dec 2011 18:19:59 +0000 (23:49 +0530)]
doc: Clarify pa_stream_get_latency() return value
Clarifies that the latency is returned via an inout parameter and the
return value is an error code or 0 on success.
Arun Raghavan [Thu, 8 Dec 2011 10:36:50 +0000 (16:06 +0530)]
build-sys: Make esound bits optional
This is really quite irrelevant on most modern systems today, and more
so for embedded systems.
Peter Meerwald [Mon, 19 Dec 2011 11:28:44 +0000 (12:28 +0100)]
core: comment typo
Peter Meerwald [Mon, 19 Dec 2011 11:28:43 +0000 (12:28 +0100)]
core: fix typo in logging
Peter Meerwald [Mon, 19 Dec 2011 11:28:42 +0000 (12:28 +0100)]
core: sample_spec.rate is in Hz, not kHz; change logging output
Peter Meerwald [Mon, 19 Dec 2011 11:28:41 +0000 (12:28 +0100)]
core: fix potential memory leak
Arun Raghavan [Mon, 19 Dec 2011 04:50:30 +0000 (10:20 +0530)]
build-sys: Fix po/ build with --disable-nls
We can't call IT_PROG_INTLTOOL because it requires intltool even with
--disable-nls, but it provides USE_NLS which is required for the po/
build. This might take a while to get fixed upstream, so working around
this in our build system for now.
Arun Raghavan [Mon, 19 Dec 2011 04:46:05 +0000 (10:16 +0530)]
build-sys: Fix map-file check
configure doesn't provide an abs_top_srcdir early enough, so we just use
srcdir for that. There was also a problem with the path we were setting
in VERSIONING_LDFLAGS that is fixed now.
Paul Menzel [Sat, 10 Dec 2011 09:03:51 +0000 (10:03 +0100)]
svolume_{mmx, sse}, sconv_sse: Fix compilation errors with X32 toolchain
From
d8b81d5393df36085009bf9f69d41fa85e2ae58a Mon Sep 17 00:00:00 2001
From: Nitin A Kamble <nitin.a.kamble@intel.com>
Date: Sat, 10 Dec 2011 09:09:06 +0100
Make assembly syntax compatible to the X32 toolchain and fix the
following kind of compilations errors with X32 gcc.
| pulsecore/svolume_mmx.c: Assembler messages:
| pulsecore/svolume_mmx.c:107: Error: `(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:135: Error: `(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:161: Error: `(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:162: Error: `8(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:180: Error: `(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:210: Error: `(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:244: Error: `(%esi,%rdi,4)' is not a valid base/index expression
| pulsecore/svolume_mmx.c:245: Error: `8(%esi,%rdi,4)' is not a valid base/index expression
| make[3]: *** [libpulsecore_1.1_la-svolume_mmx.lo] Error 1
Originally these assembly lines were written for x86_64 ABI, now they
are also compatible with X32 ABI [3][4].
The patch was submitted to the OpenEmbedded-Core list [1][2].
[1] http://lists.linuxtogo.org/pipermail/openembedded-core/2011-December/014189.html
[2] http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=nitin/x32&id=
2d8eec54f755c51f2eff600390f5a4b3cc2a7662
[3] https://wiki.yoctoproject.org/wiki/X32_abi
[4] http://en.wikipedia.org/wiki/X32_ABI
Arun Raghavan [Wed, 14 Dec 2011 16:27:01 +0000 (21:57 +0530)]
x11: Fix build without NLS support
Peter Meerwald [Wed, 14 Dec 2011 15:07:57 +0000 (16:07 +0100)]
tests: Fix resampler-test compilation without NLS support
Peter Meerwald [Tue, 13 Dec 2011 14:51:54 +0000 (15:51 +0100)]
echo-cancel: Better handling of error conditions in test
Peter Meerwald [Tue, 13 Dec 2011 14:51:53 +0000 (15:51 +0100)]
echo-cancel: Begin log message with uppercase letter
Peter Meerwald [Tue, 13 Dec 2011 14:51:52 +0000 (15:51 +0100)]
echo-cancel: Set file mode to binary in test code
Arun Raghavan [Wed, 14 Dec 2011 15:18:12 +0000 (20:48 +0530)]
protocol-native: Fix 'auth-group-enabled' modarg
This is actually implemented in module-protocol-stub as
'auth-group-enable'. An unfortunate typo because the other argument is
spelt as 'enabled', but it's better to be slightly inconsistent than to
change the public interface.
Arun Raghavan [Tue, 13 Dec 2011 03:56:44 +0000 (09:26 +0530)]
resampler: Move some peak resampler asserts around
This moves a couple of asserts from peak_resample() to peaks_init()
since they're resampler parameters that shouldn't change after
initialisation.
Arun Raghavan [Tue, 13 Dec 2011 03:55:04 +0000 (09:25 +0530)]
resampler: Remove invalid channel asserts in peak and trivial
The incoming channel count will be fixed up by the remapping code before
the resampler is invoked.
Arun Raghavan [Tue, 13 Dec 2011 03:46:40 +0000 (09:16 +0530)]
utils: Typo fixes in qpaeq
Pointed out by John Frankish <j-frankish@slb.com> in:
https://bugs.freedesktop.org/show_bug.cgi?id=43733
Peter Meerwald [Sun, 11 Dec 2011 15:07:42 +0000 (16:07 +0100)]
echo-cance: Make Adrian canceller optional
makes the Adrian echo canceller implementation optional at compile time
this patch supersedes an earlier patch proposal and addresses the following
comments:
* separate patch from speex dependency rework (Arun)
* check that at least one EC implementation is available (Arun)
* properly align yes/no in configure summary for Adrian (Frederic)
Peter Meerwald [Sun, 11 Dec 2011 15:07:41 +0000 (16:07 +0100)]
build-sys: Make speex library optional
make speex library dependency optional, this affects the resampler
and the echo canceller module
this patch supersedes an earlier patch proposal and addresses the following
comments:
* fix order of pa_echo_canceller_method_t enum and ec_table (Frederic)
* the default resampler is speex if available as before, otherwise ffmpeg (Arun)
* does not touch the Adrian EC implementation (see separate patch) (Arun)
Arun Raghavan [Fri, 9 Dec 2011 15:30:11 +0000 (21:00 +0530)]
utils: Fixes for building without NLS
Arun Raghavan [Thu, 8 Dec 2011 08:59:06 +0000 (14:29 +0530)]
iochannel: Handle missing un.h correctly
Arun Raghavan [Thu, 8 Dec 2011 08:49:50 +0000 (14:19 +0530)]
mime: Move assert to correct position
Arun Raghavan [Thu, 8 Dec 2011 08:47:07 +0000 (14:17 +0530)]
build-sys: Use absolute path for map-file while linking
This makes the link process more robust in some stranger configurations.
Arun Raghavan [Thu, 8 Dec 2011 08:45:06 +0000 (14:15 +0530)]
build-sys: Fix building without NLS
Peter Meerwald [Mon, 12 Dec 2011 18:50:38 +0000 (19:50 +0100)]
stream: Fix typos and formatting in stream.h doxygen documentation
Peter Meerwald [Mon, 12 Dec 2011 18:50:37 +0000 (19:50 +0100)]
mainloop: Fix typos and rewording of thread-mainloop.h doxygen documentation
Peter Meerwald [Mon, 12 Dec 2011 18:50:36 +0000 (19:50 +0100)]
simple: Fix typos in simple.h doxygen documentation
Peter Meerwald [Mon, 12 Dec 2011 18:50:35 +0000 (19:50 +0100)]
stream: Fix 'e g' as 'e.g.\ '
Peter Meerwald [Mon, 12 Dec 2011 09:59:45 +0000 (10:59 +0100)]
error: Fix spelling of 'initialization' in errortab for PA_ERR_MODINITFAILED
Also update the related translations.
Peter Meerwald [Mon, 12 Dec 2011 12:19:50 +0000 (13:19 +0100)]
proplist: Consistently use parameter name p for a pa_proplist* in prototype
Peter Meerwald [Mon, 12 Dec 2011 12:19:49 +0000 (13:19 +0100)]
utf8: Fix doxygen file description for utf8.h
Peter Meerwald [Mon, 12 Dec 2011 12:19:48 +0000 (13:19 +0100)]
proplist: Fix typos in doxygen documentation
Peter Meerwald [Mon, 12 Dec 2011 12:19:47 +0000 (13:19 +0100)]
proplist: Add doxygen file description for proplist.h
Peter Meerwald [Mon, 12 Dec 2011 12:19:46 +0000 (13:19 +0100)]
introspect: Fix unresolved doxygen link pa_port_available_t
Peter Meerwald [Mon, 12 Dec 2011 12:19:45 +0000 (13:19 +0100)]
format: Add description for format.h
Peter Meerwald [Mon, 12 Dec 2011 12:19:44 +0000 (13:19 +0100)]
format: Add periods to fix brief documentation for pa_format_info_is_pcm()
Peter Meerwald [Mon, 12 Dec 2011 12:19:43 +0000 (13:19 +0100)]
format: Fix unknown doxygen command \second
Peter Meerwald [Sun, 11 Dec 2011 15:07:39 +0000 (16:07 +0100)]
def: Document that pa_buffer_attr.maxlength is in bytes.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=42919
Peter Meerwald [Sun, 11 Dec 2011 15:07:38 +0000 (16:07 +0100)]
stream: Fix comments
Peter Meerwald [Mon, 12 Dec 2011 22:36:39 +0000 (22:36 +0000)]
pstream: Fix spelling of 'receive'.
These functions are not exported in the map file and thus do
not form part of the API and can be corrected without any problem.
Tanu Kaskinen [Mon, 5 Dec 2011 18:42:44 +0000 (20:42 +0200)]
alsa-mixer: Remove unused pa_alsa_path_set_probe() declaration.
David Henningsson [Fri, 2 Dec 2011 12:34:54 +0000 (13:34 +0100)]
device-port: Add a property list to ports.
They're not used for anything yet, but hopefully soon they'll be.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
David Henningsson [Fri, 2 Dec 2011 13:15:28 +0000 (14:15 +0100)]
pactl: Show port availability
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
David Henningsson [Fri, 2 Dec 2011 09:20:23 +0000 (10:20 +0100)]
Fixup a few things in the new path probing
* If mapping_probe_paths() fails to open the mixer, all paths are now
removed from the mapping's path sets.
* pa_path_set.probed isn't really used for anything (removed).
* If profile probing is configured to be skipped, mapping_paths_probe()
should still be called.
Thanks to Tanu for spotting.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
David Henningsson [Fri, 25 Nov 2011 14:17:16 +0000 (15:17 +0100)]
alsa: add card ports and path probe cache
To be able to add ports to all profiles, we need to probe all
profiles at startup. To speed this up, we now have a cache of
probes paths which is owned by the profile set. Since paths
are now owned by the profile set, the path set must now have
a hashmap of paths instead of a linked list.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
David Henningsson [Wed, 30 Nov 2011 11:51:06 +0000 (12:51 +0100)]
alsa: Ignore the virtual "thinkpad-acpi" card
The thinkpad ACPI driver sometimes creates a virtual sound card,
which at best exposes a volume control. Save some startup time, and
unnecessary error messages in the log, by ignoring it.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Peter Meerwald [Mon, 28 Nov 2011 15:14:16 +0000 (16:14 +0100)]
echo-cancel: Fix memory leak in test program
memory for pa_echo_canceller is allocated in init_common() a second time,
hence the allocated memory in main() is leaked
Maarten Bosmans [Mon, 28 Nov 2011 09:36:34 +0000 (10:36 +0100)]
resampler: Some minor tweaks
that were forgotten in the previous peaks resampler commits.
Arun Raghavan [Mon, 28 Nov 2011 09:46:55 +0000 (15:16 +0530)]
echo-cancel: Fix warning for undefined HAVE_WEBRTC
Maarten Bosmans [Wed, 16 Nov 2011 12:00:28 +0000 (13:00 +0100)]
tests: Don't link tests that only use public api to libpulsecommon
Maarten Bosmans [Wed, 2 Nov 2011 20:54:17 +0000 (21:54 +0100)]
resamplers: Improve performance of peaks resampler
This is mainly achieved by special-casing the common 1ch float case,
which is used by applications such as pavucontrol.
Maarten Bosmans [Wed, 2 Nov 2011 20:54:16 +0000 (21:54 +0100)]
resamplers: Rework the peaks resampler
The algorithm had been implemented the same way as the trivial resampler. But
an important difference between the two is that the trivial resampler can write
an output as soon as the first corresponding input sample is seen, whereas the
peaks resampler must have read all input samples before writing an output
sample.
With this rework, the peaks resampler now outputs samples correctly when the
input data is spanning multiple memblocks.
Maarten Bosmans [Sun, 27 Nov 2011 16:12:10 +0000 (16:12 +0000)]
shm: Use a goto rather than early return for consistency.
This is functionally the same but is easier to understand.
Maarten Bosmans [Wed, 2 Nov 2011 20:54:13 +0000 (21:54 +0100)]
win32: Avoid some compiler warnings when cross-compiling for mingw32
Autoconf documentation says that AC_FUNC_SELECT_ARGTYPES shouldn't be used anyway.
Colin Guthrie [Sun, 27 Nov 2011 15:44:23 +0000 (15:44 +0000)]
device-port: Remove redundant include after the better circular dep fix.
Colin Guthrie [Sun, 27 Nov 2011 15:23:55 +0000 (15:23 +0000)]
x11: Drop unneeded 'struct' and use the typedef directly.
Maarten Bosmans [Fri, 18 Nov 2011 08:58:09 +0000 (09:58 +0100)]
Use simple free function in pa_queue_free
Maarten Bosmans [Fri, 18 Nov 2011 08:58:08 +0000 (09:58 +0100)]
Use simple free function in pa_dynarray_free
Tanu Kaskinen [Sun, 27 Nov 2011 15:16:53 +0000 (17:16 +0200)]
device-port: Fix the circular dependency problem more cleanly.
Declaring structs before including anything ensures that the
structs are available for everybody in case of circular includes.
Mikel Astiz [Wed, 23 Nov 2011 16:08:11 +0000 (17:08 +0100)]
bluetooth: Fix property reply handling for hfgw
Maarten Bosmans [Wed, 23 Nov 2011 10:40:08 +0000 (11:40 +0100)]
resamplers: Optimize trivial resampler
This improves the performance of a typical s16 2ch resampling by 88%.
Maarten Bosmans [Wed, 23 Nov 2011 10:40:07 +0000 (11:40 +0100)]
resamplers: Use better variable name in trivial resampler
Maarten Bosmans [Wed, 23 Nov 2011 10:40:06 +0000 (11:40 +0100)]
build-sys: Disable fastpath asserts by default
Maarten Bosmans [Wed, 23 Nov 2011 10:40:05 +0000 (11:40 +0100)]
resamplers: Use fastpath assert in trivial resampler
When the assert is disabled, the trivial resampler gets a 35% performance boost.
Maarten Bosmans [Tue, 22 Nov 2011 15:09:18 +0000 (16:09 +0100)]
pulsecore: Hardcode FRAME_SIZE_MAX_ALLOW
Instead of using PA_SCACHE_ENTRY_SIZE_MAX, the size for FRAME_SIZE_MAX_ALLOW is
set directly to the same value. This removes the need for the core-scache.h
include, which caused an unwanted dependency of libpulsecommon on libpulsecore.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=41539
Maarten Bosmans [Tue, 22 Nov 2011 15:08:48 +0000 (16:08 +0100)]
Update LICENSE
Mention gdbm, lirc and fftw there.
Colin Guthrie [Sun, 27 Nov 2011 14:19:57 +0000 (14:19 +0000)]
pulsecore: Fix issue with circuilar definitions.
Without this fix, errors about previous definitions are generated in
numerous locations.
Example of error:
CC libpulsecore_1.98_la-auth-cookie.lo
In file included from ../../src/pulsecore/source.h:46:0,
from ../../src/pulsecore/sink.h:40,
from ../../src/pulsecore/core.h:50,
from ../../src/pulsecore/shared.h:25,
from ../../src/pulsecore/auth-cookie.c:33:
../../src/pulsecore/device-port.h:40:24: error: redefinition of typedef
'pa_core'
../../src/pulsecore/core.h:29:24: note: previous declaration of
'pa_core' was here
make[3]: *** [libpulsecore_1.98_la-auth-cookie.lo] Error 1
Overall it would be nicer if we could avoid this kind of fix, but it
would require further reorganisation that I'm not prepared to undertake
right now.
David Henningsson [Fri, 25 Nov 2011 14:17:15 +0000 (15:17 +0100)]
cli: Show card ports and jack detection status
Expose the new stuff through pacmd.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
David Henningsson [Fri, 25 Nov 2011 14:17:14 +0000 (15:17 +0100)]
Notify port available status changes, and update protocol version
The recommended way of setting available status is to call
pa_device_port_set_available, which will send a subscription event
to the relevant card. It will also fire a hook.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
David Henningsson [Fri, 25 Nov 2011 14:17:13 +0000 (15:17 +0100)]
Cards now has ports directly, and device port has list of profiles
This forms the base for being able to expose all ports of all
profiles (even inactive ones) to clients.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
David Henningsson [Fri, 25 Nov 2011 14:17:12 +0000 (15:17 +0100)]
Turn device ports into reference counted objects
Since both cards and sinks can hold references to a port, it makes
sense to reference count them. Although no current implementation
actually has sinks with ports but without a card, it felt wrong
to make it harder to make such an implementation in the future.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
David Henningsson [Fri, 25 Nov 2011 14:17:11 +0000 (15:17 +0100)]
Introduce "available" concept for ports, and communicate that to clients. Bump protocol version to 24.
Note: There is still no notification when status availability changes.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Arun Raghavan [Thu, 17 Nov 2011 14:31:59 +0000 (20:01 +0530)]
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.
Arun Raghavan [Wed, 23 Nov 2011 10:56:40 +0000 (16:26 +0530)]
proplist: Add internal API to get stream group
This moves out code from module-stream-restore and makes an internal API
out of it to get a "stream group" for a given sink input or source output.
This is factored out for reuse in module-filter-*.
The stream group basically provides some means of attaching a logical
identification to the stream (by role, application id, etc.).
Arun Raghavan [Fri, 11 Nov 2011 09:38:24 +0000 (15:08 +0530)]
filters: Allow a filter to have both sink and source
This sets the base for better representing module-echo-cancel. This
patch itself should change no behaviour -- it only makes way for other
changes.
Arun Raghavan [Wed, 23 Nov 2011 11:16:12 +0000 (16:46 +0530)]
filters: Fix the master source/sink when autoloaded
When autoloaded, it is expected that module-filter-apply (or whatever is
loading us) will take care of applying the filter on the correct
sink/source master. Instead of adding complexity by tracking what is
currently being filtered, we just disallow filtering anything except the
original master sink/source and let module-filter-apply or whatever is
loading us deal with dynamic sink/source changes.
Arun Raghavan [Tue, 22 Nov 2011 07:54:22 +0000 (13:24 +0530)]
echo-cancel: Use more human-friendly descriptions
This makes what devices are being cancelled clearer in the UI (at the
cost of being somewhat less clear when multiple devices of the same name
are plugged, but at least that's a much smaller set than everyone).