Commit graph

669 commits

Author SHA1 Message Date
Arun Raghavan
38be4a2d44 echo-cancel: Use volume sharing by default
Uses the shared volume infrastructure by default with an option to
fallback on the old pretend-volume-sharing-that-kind-of-works if someone
wants it that way.

Users who keep left != right (or any sort of unbalanced channel volumes)
will likely want to disable shared volumes since it will cause their
master sink/source volume to be balanced.

This really isn't a very pleasant scenario since users would need to
manually set up echo cancellation in their config for this (until we
have a way to store module configuration). That said, the majority case
benefits from the volume sharing, so let's not wait for the
configuration infrastructure to be ready to use this.
2011-09-14 14:15:01 +05:30
Arun Raghavan
ec099f9306 equalizer: Use volume sharing by default
Uses the shared volume infrastructure by default with an option to
fallback on the old pretend-volume-sharing-that-kind-of-works if someone
wants it that way.
2011-09-14 14:15:01 +05:30
Arun Raghavan
a9c85074cb def: Hide server-side sink/source flags
This makes sure that sink/source flags that are used on the server side
only are not leaked to clients.
2011-09-14 14:02:12 +05:30
Colin Guthrie
83577aa373 build-sys: Oops forgot to add the Kinect profile to the build system. 2011-09-09 19:55:09 +01:00
Colin Guthrie
1595608b0b formats: The format code should be in libpulse, not libpulsecommon
Without this change any applications calling e.g. pa_format_info_new()
and friends will be explicitly linked against libpulsecommon-$MAJORMINOR.so
which is something we specifically avoid as it may contain ABI/API unstable
functions.

Also ensure we export pa_format_info_from_string() for external use.

fdo#40616
2011-09-05 10:32:28 +02:00
Arun Raghavan
460a24778b build-sys: Fix some LDFLAGS vs. LDADD usage
Thanks to Stefan Kost for pointing these out.
2011-08-24 17:56:34 +05:30
Maarten Bosmans
b4e938e194 Move i18n.[ch] to src/pulsecore
The header is used in files troughout the tree and is not included in the public api,
so it belongs in pulsecore, not in pulse.
2011-08-11 13:23:42 +02:00
Colin Guthrie
906e99b792 alsa-mixer: Remove workaround for USB head/handsets
Now that subset mixer paths are removed, this workaround is no longer needed.

This effectively reverts 1c38b5d478 but due
to me forgetting to add files and adding a couple extra workarounds after,
it's easier to just do this manually rather than run git-revert.
2011-07-20 22:23:11 +01:00
Colin Guthrie
6addadc574 build-sys: equalizer-sink needs DBus aswell as FFTW 2011-06-30 11:58:30 +01:00
Maarten Bosmans
107106afd4 build-sys: Process configuration files with m4
This allows for build-time conditionals to be processed,
eliminating the need for a separate default.pa.win32.
2011-06-30 11:54:03 +01:00
Maarten Bosmans
3722dbbcb3 build-sys: Use configure AC_OUTPUT to process config files
Don't use sed to replace @variable@ in file.in.
2011-06-30 11:54:03 +01:00
Maarten Bosmans
e42bc02dc6 build-sys: Move some more defines to configure.ac 2011-06-30 11:54:03 +01:00
Maarten Bosmans
df41b8c948 build-sys: Move some more defines from CFLAGS to config.h 2011-06-26 13:48:24 +01:00
Maarten Bosmans
08631831cb build-sys: Use AX_DEFINE_DIR macro instead of setting AM_CFLAGS
This makes the compiler command line a bit shorter, useful for compiling with make V=1.
2011-06-26 13:48:11 +01:00
Maarten Bosmans
7eba9d92f7 build-sys: Use ax_check_flag macros from autoconf archive
Those macros cover almost all functionality of attributes.m4 that was
used, so that file can be removed.
The CC_NOUNDEFINED macro is used directly in configure.ac.
2011-06-26 13:47:58 +01:00
David Henningsson
1c38b5d478 alsa-mixer: Add workaround for some USB headsets
This is a workaround - these usb headsets have one output volume
control only, labeled "Speaker". This causes the default profile
set to not control the volume at all, which is a bug. Workaround
that by creating a separate profile set.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-06-25 12:53:44 +01:00
Maarten Bosmans
ebf93404b6 Remove libpulse-browse and pabrowse 2011-06-24 10:08:11 +01:00
Maarten Bosmans
3adc43b8fe win32: Make once-test work
The barrier is not used when pthread is not available.
2011-06-24 00:32:22 +01:00
Maarten Bosmans
2cfacc6f55 build-sys: Cleanup Makefile.am
No need to keep some tests in two lists.
2011-06-24 00:30:25 +01:00
Colin Guthrie
35f99c6e31 device-restore: Add a new protocol extension for device-restore.
This simply exposes the formats that a device supports
via a simple protocol extension that will allow clients
to setup what a connected receiver supports format wise.
2011-06-22 23:12:19 +01:00
Colin Guthrie
c3056ce530 build-sys: module-equalizer-sink needs dbus. 2011-06-22 14:16:21 +01:00
Maarten Bosmans
6c3f05574a build-sys: Reset CFLAGS after DBUS check 2011-06-20 16:01:37 +02:00
Daniel Mack
71e936da58 osx: pass -headerpad_max_install_names to the linker, too
This option won't make it to the actual libtool command which does the
linking when not prefixed with -Wl,
2011-05-30 11:26:09 +01:00
Sjoerd Simons
2bc2abc68a build-sys: Link libpulse directly to libdbus-1 if needed
Linking libpulse with gold or when using ld --no-add-needed fails
as libpulse uses dbus methods directly but isn't explicitly linked to it.
So link to it when needed :)
2011-05-16 11:08:32 +01:00
Arun Raghavan
8d076d0990 format: Extend properties to handle lists/ranges
This replaces the simple string used by pa_format_info's proplist with a
JSON string (accessed via new API only). This allows us to express lists
and ranges more cleanly, and embed type information for future
extensibility.

We use json-c for JSON parsing. This is a lightweight depdency (32 KB on
my system) and avoids the hassle of having to reinvent a JSON parser.

Also included is a test which verifies functionality and is
valgrind-clean.
2011-05-15 10:09:35 +05:30
Arun Raghavan
20f1fa17be alsa-mixer: Remove passthrough profiles
These aren't used any more - we handle passthrough mode in the iec958*
profiles now.
2011-05-02 11:55:38 +05:30
Arun Raghavan
e64f02ad9e tests: Add a trivial test for the extended API
This is just sync-playback.c modified to use the extended API. We need
something more sophisticated for properly testing the compressed
formats, but that is a non-trivial task in itself.
2011-05-02 11:54:48 +05:30
Arun Raghavan
c3839c7637 core: Add a pa_format_info structure
This will be used to represent the format of data provided by the client
for both compressed and PCM formats in a new extended API.
2011-05-02 10:17:20 +05:30
Colin Guthrie
512baa1a1f combine: Rename module-combine to module-combine-sink.
This also includes a compatibility module that will ultimately be removed in
a future release.
2011-04-30 15:12:45 +01:00
Marc-André Lureau
4c3f7b0f30 module-null-source: New null-source module 2011-04-28 10:45:20 +01:00
Colin Guthrie
0e60a80afa filter-heuristics: New module that applies some basic heuristics regarding filters.
At present the only heuristic is one to apply the echo-cancel filter
when dealing with phone streams.
2011-04-18 10:31:51 +02:00
Colin Guthrie
9a2a045d7c filter-apply: New module to automatically load filter sinks (and move streams) based on sink-input property hints.
This module does not yet deal with modules that need matched inputs/outputs
(i.e. echo-cancel) but this will be added in due course.
2011-04-18 10:31:51 +02:00
Michael Terry
6ed3a7dcc9 switch-on-connect: Add a new module to allow for hotplugged devices to be used by default.
This module implements a simply policy decision that any newly plugged
in devices should be used.

This is a reasonable approach and paprefs will be updated to allow for
this option to be turned on or off.

This is more or less a stop-gap solution. When priority lists are
implemented in the core, then policy modules may ultimately be
re-engineered to adjust the priority lists rather than doing any of
their own routing per-se.
2011-04-03 13:42:44 +01:00
Daniel Mack
c083259464 tests: add a connection stress test
This test is based on a threaded main loop and was written to hunt an
evil race condition.
2011-04-01 14:15:01 +01:00
Arun Raghavan
62f181aa28 bluetooth: Pull a2dp-codecs.h from BlueZ
This pulls a2dp-codecs.h from BlueZ which contains the capabilities
structures for SBC and MPEG. We currently have these manually added to
ipc.h, so pulling this header makes our files identical to upstream.
2011-03-31 11:04:39 +01:00
Colin Guthrie
ae35ec1ed5 Merge remote-tracking branch 'zonique/osx' 2011-03-24 09:08:05 +00:00
Daniel Mack
00d96c04dc osx: add -headerpad_max_install_names to LDFLAGS
This is needed for sufficient padding of library names in linked
binaries.
2011-03-21 00:32:29 +01:00
Daniel Mack
249384c7a2 osx: re-order module locations
move all Mac OS X related modules to own location.
2011-03-21 00:32:29 +01:00
Colin Guthrie
1674e1ca53 build-sys: Make update-sbc, update-reserve and update-rtkit work in OOT builds 2011-03-20 12:42:28 +00:00
Colin Guthrie
d7ce59de88 Merge remote-tracking branch 'mkbosmans/mingw32-build' 2011-03-20 11:18:19 +00:00
Maarten Bosmans
c470680e1b Use pulsecore/arpa-inet.h to make arpa/inet.h functionality available
Automatically use replacement function on platforms (win32) where not all arpa/inet.h is available natively.
2011-03-19 13:41:05 +01:00
Maarten Bosmans
09d7baec64 build: Protect some more variables by ifdefs
This avoids empty directories being created on builds without X11, ALSA, etc.
2011-03-19 13:41:03 +01:00
Maarten Bosmans
74c934b1ad build: copy instead of link pacat to other utils on win32
This is necessary as symlinks are not supported on Windows.  Also use the $(EXEEXT) variable.
2011-03-19 13:40:24 +01:00
Maarten Bosmans
eb833da570 Find modules and config files relative to the installed libraries.
Do not use replace %PULSE_ROOT% from the environment.
2011-03-19 13:38:37 +01:00
Colin Guthrie
9a27b0c413 build-sys: Fix bluetooth update-sbc now that it's in a subfolder. 2011-03-18 12:02:10 +00:00
Colin Guthrie
e908a4d43e build-sys: Whitespace changes
This just makes some of the bluetooth stuff a little clearer and
standardises on two-tab indents as this seems most common.

Also added two headers to the bluetooth sbc source that were missing.
2011-03-18 11:47:06 +00:00
Colin Guthrie
c66a1ba352 bluetooth: Fix build errors relating to SBC 2011-03-18 10:01:12 +00:00
Daniel Mack
5a4176409c alsa: Add two more ALSA audio card profiles
This adds profiles for Native Instruments recently announced
"Trator Audio 6" and "Traktor Audio 10".
2011-03-18 09:36:43 +00:00
Colin Guthrie
b8db02755a Merge remote-tracking branch 'vudentz/master' 2011-03-18 00:10:27 +00:00
Siarhei Siamashka
ee93eff6b7 sbc: add iwmmxt optimization for sbc for pxa series cpu
Benchmarked on ARM PXA platform:
===  Before (4 bands) ====
$ time  ./sbcenc_orig  -s 4     long.au  > /dev/null
real    0m 2.44s
user    0m 2.39s
sys     0m 0.05s
===  After (4 bands) ====
$ time  ./sbcenc  -s 4     long.au  > /dev/null
real    0m 1.59s
user    0m 1.49s
sys     0m 0.10s

===  Before (8 bands) ====
$ time  ./sbcenc_orig   -s 8     long.au  > /dev/null
real    0m 4.05s
user    0m 3.98s
sys     0m 0.07s
===  After (8 bands) ====
$ time  ./sbcenc  -s 8     long.au  > /dev/null
real    0m 1.48s
user    0m 1.41s
sys     0m 0.06s

===  Before (a2dp usage) ====
$ time  ./sbcenc_orig   -b53 -s8 -j    long.au  > /dev/null
real    0m 4.51s
user    0m 4.41s
sys     0m 0.10s
===  After (a2dp usage) ====
$ time  ./sbcenc   -b53 -s8 -j    long.au  > /dev/null
real    0m 2.05s
user    0m 1.99s
sys     0m 0.06s
2011-03-14 15:45:39 -03:00