Commit graph

669 commits

Author SHA1 Message Date
David Henningsson
560ce5ece0 alsa-mixer: Add path for Headset Microphone
In kernel 3.10, some devices will have the "Headset Microphone" name
to indicate that the mic is part of a mic + headphone combo, i e, a headset.
2013-03-25 08:30:32 +01:00
David Henningsson
c0d1b1e75f tests: Move ipacl-tests to TESTS_norun
ipacl-test fails if there is no SSH server running on your machine.
Since it is not a PulseAudio error not to have an SSH server running,
this test should not be run as part of the "make check" test suite.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2013-03-20 12:08:23 +01:00
Marc-Antoine Perennou
874bceb84d port to gtk+-3.0
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2013-03-13 18:22:28 +02:00
Tanu Kaskinen
759f82f17d ladspa: Use volume sharing.
The previous volume handling could cause ear damage: by default the
ladspa sink volume was 100%, and with flat volumes that would cause
the master sink volume to jump to 100% too.
2013-03-13 15:17:49 +02:00
Stefan Huber
b5226992d4 modules: add module-remap-source 2013-03-05 23:20:13 +02:00
Peter Meerwald
da5f03b7f5 tests: add test/performance comparison for mixing special-case code
x86-64, i7-870, 3 GHz gcc -O0, 100 TIMES

mix s16 generic 1 channel: 286503 usec (avg: 2865.03, min = 2673, max = 6892, stddev = 425.996).
mix s16 2 streams 1 channel: 136490 usec (avg: 1364.9, min = 1304, max = 1686, stddev = 73.4594).

mix s16 generic 2 channels: 590472 usec (avg: 5904.72, min = 5342, max = 16027, stddev = 1079.34).
mix s16 2 channels: 380369 usec (avg: 3803.69, min = 3570, max = 5041, stddev = 234.831).
mix s16 2 streams: 316254 usec (avg: 3162.54, min = 3034, max = 3536, stddev = 107.716).
mix s16 2 streams 2 channels: 269645 usec (avg: 2696.45, min = 2585, max = 3027, stddev = 87.9661).

x86-64, i7-870, 3 GHz gcc -O2, 1000 TIMES

mix s16 generic 1 channel: 371550 usec (avg: 3715.5, min = 3515, max = 10534, stddev = 760.071).
mix s16 2 streams 1 channel: 207750 usec (avg: 2077.5, min = 2009, max = 2271, stddev = 58.6076).

mix s16 generic 2 channels: 724294 usec (avg: 7242.94, min = 6937, max = 10350, stddev = 363.451).
mix s16 2 channels: 345661 usec (avg: 3456.61, min = 3291, max = 5586, stddev = 256.309).
mix s16 2 streams: 559243 usec (avg: 5592.43, min = 5349, max = 6705, stddev = 223.271).
mix s16 2 streams 2 channels: 390101 usec (avg: 3901.01, min = 3696, max = 5345, stddev = 213.482).

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2013-02-16 01:08:10 +02:00
Peter Meerwald
1e4e586150 mix: Add optimized mix code path for ARM NEON
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2013-02-15 23:02:19 +02:00
Peter Meerwald
c23963a99f tests: Add mult-s16 test
test mostly compares runtime of 64 bit vs 32 bit s16ne-by-volume multiplication

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2013-02-15 21:34:13 +02:00
Peter Meerwald
95b64804ab core: Move pa_mix() into new file mix.c
idea is to allow optimized code path (similar to volume code)
and rework/specialize mixing cases to enable runtime performance improvements

no functionality changes in this patch

Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
2013-02-15 21:33:07 +02:00
Tanu Kaskinen
8cb34c6960 pacat: Handle holes in recording streams.
pa_silence_memory() pulls sample-util as a dependency, so it had to
be moved from libpulsecore to libpulsecommon. sample-util in turn
pulls some more stuff.
2013-02-04 12:07:39 +02:00
Flavio Ceolin
4d65c9582d role-ducking: Apply a ducking effect based on streams roles
This module works pretty similar to the module-role-cork.
It should be used as an alternative to that module. Basically
it decreases the volume of the streams specified in ducking_roles
in the presence of at least one stream specified in trigger_roles.
Also, it's possible to choice the volume that will be used in the
ducking streams and if it should operates in all devices or not.

For basic reference: http://en.wikipedia.org/wiki/Ducking
2012-12-19 12:31:48 +02:00
Arun Raghavan
700cd890a9 Revert "tests: modify alsa-time-test to use 'check' framework"
This reverts commit 1569601864.

Rethinking this, it makes more sense to not add this to the check
framework. This is mostly useful for exposing ALSA driver issues, and
it's handy to be able to build this as a standalone executable.
2012-11-05 17:48:20 +05:30
Arun Raghavan
5cc60fa897 build-sys: Document libpulsecommon vs. libpulse duplication 2012-11-03 11:52:58 +01:00
Thomas Martitz
7e344b5ff0 core: Proper poll() emulation to fix pacat and friends on Windows
Currently, Windows versions of pacat and friends fail because the current
poll emulation is not sufficient (it only works for socket fds).

Luckily Gnulib has a much better emulation that seems to work good enough.
The implementation has been largely copied (except a few bug fix
regarding timeout handling, to be pushed upstream) and works on pipes
and files as well. The copy has been obtained through their gnulib-tool utility,
which gives a LGPLv2.1+ licensed file.

This fixes the "Assertion (!e->dead) failed" error coming and lets pacat
and friends stream happily to/from a server (I didn't actually test parec).
2012-10-30 16:22:18 +05:30
Tanu Kaskinen
a423ee0f3d build: Add a2dp-codecs.h to libbluetooth-util sources. 2012-10-29 15:03:55 +05:30
Peter Meerwald
1319c4533a core: Add ARM NEON optimized sample conversion code
final:
* includes some minor style fixes and build-time changes to allow
  building a single binary for neon and non-neon systems
v4:
* fix for sample length < 4
v3:
* convert from intrinsics to inline assembly
v2:
* load and store data with vld1/vld1q and vst1/vst1q, resp., to work
  around alignment issues of compiler-generated vldmia instruction
* remove redundant check for NEON flags

Ubuntu/Linaro gcc 4.6.3
arm-linux-gnueabi-gcc -O2 -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon

runtime on beagle-xm:

D: [pulseaudio] sconv_neon.c: checking NEON sconv_s16le_from_float
I: [pulseaudio] sconv_neon.c: NEON: 3754 usec.
I: [pulseaudio] sconv_neon.c: ref: 58594 usec.
D: [pulseaudio] sconv_neon.c: checking NEON sconv_s16le_to_float
I: [pulseaudio] sconv_neon.c: NEON: 1831 usec.
I: [pulseaudio] sconv_neon.c: ref: 10528 usec.
I: [pulseaudio] sconv_neon.c: Initialising ARM NEON optimized conversions.

conversion may be off by one for some samples due to rounding issues
2012-10-29 12:49:37 +05:30
Arun Raghavan
4171df3019 build-sys: Add volume code to libpulsecommon
Commit dd31d652a ("utils: Adding a function to get volume from string")
uses pa_sw_volume_from_dB(), which is part of libpulse, in libpulsecore.
This breaks as-needed builds. We fix this by also building the volume
code in libpulsecommon.
2012-10-26 08:43:32 +05:30
Deng Zhengrong
67602d8743 tests: make 'check' optional 2012-10-04 16:49:00 +03:00
David Henningsson
ba0203c4c0 alsa-mixer: Remove analog-output-lfe-on-mono
Upstreamed from Debian: "Although in principle Ac '97 hardware has a
separate mono LFE pin nothing seems to use it. To make matters worse
it does confuse PulseAudio's port selection slightly which causes
audio in virtualbox not to work out of the box."

Credit: Sjoerd Simons <sjoerd@debian.org>
Credit: Martin-Éric Racine <martin-eric.racine@iki.fi>
BugLink: https://bugs.launchpad.net/bugs/1016969
BugLink: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=673847
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2012-10-04 13:32:35 +02:00
Luiz Augusto von Dentz
8228db051e bluetooth: Remove built-in/static SBC codec
SBC shared library is now available at:

http://git.kernel.org/?p=bluetooth/sbc.git;a=summary
2012-09-06 15:59:24 +03:00
Deng Zhengrong
70acd7bf66 tests: modify ipacl-test to use 'check' framework 2012-08-20 07:06:00 +05:30
Deng Zhengrong
deeb0f05b3 tests: modify once-test to use 'check' framework 2012-08-20 07:06:00 +05:30
Deng Zhengrong
b095ebd502 tests: modify lock-autospawn-test to use 'check' framework 2012-08-20 07:06:00 +05:30
Deng Zhengrong
d9841a9431 tests: modify rtpoll-test to use 'check' framework 2012-08-20 07:06:00 +05:30
Deng Zhengrong
c02214dac5 tests: modify sig2str-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
f4dd422c75 tests: modify sigbus-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
034807d6d3 tests: modify interpol-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
23fac14278 tests: modify smoother-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
ca5ea07c42 tests: modify sync-playback to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
eb15d0c5e2 tests: modify extended-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
a74795f9e3 tests: modify hook-list-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
ef5cf81ff8 tests: modify memblockq-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
d10009fc97 tests: modify proplist-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
67df8223b0 tests: modify memblock-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
2b7fb50935 tests: modify connect-stress to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
f270fead58 tests: modify queue-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
5f8c22e6f1 tests: modify cpulimit-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
dbf176acbd tests: modify channelmap-tets to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
d746225b98 tests: modify asyncq-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
8628990365 tests: modify asyncmsgq-test to new 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
1569601864 tests: modify alsa-time-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
4d5c85cfa2 tests: modify thread-mainloop-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
ca104d3467 tests: modify thread-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
a5b438f825 tests: modify get-binary-name-test to use 'check' framework 2012-08-20 07:05:59 +05:30
Deng Zhengrong
8efef1e097 tests: modify format-test to use 'check' framework 2012-08-20 07:05:58 +05:30
Deng Zhengrong
5f2a25b252 tests: modify usergroup-test to use 'check' test framework 2012-08-20 07:05:58 +05:30
Deng Zhengrong
3db18c27d2 tests: modify volume_test to use new 'check' framework 2012-08-20 07:05:58 +05:30
Tanu Kaskinen
9887cd0a28 build-sys: Link utf8-test to libpulsecommon.
Fixes this:
/usr/bin/ld: utf8_test-utf8-test.o: undefined reference to symbol 'pa_log_set_level'
/usr/bin/ld: note: 'pa_log_set_level' is defined in DSO /home/takaskin/dev/pulseaudio/src/.libs/libpulsecommon-2.98.so so try adding it to the linker command line
/home/takaskin/dev/pulseaudio/src/.libs/libpulsecommon-2.98.so: could not read symbols: Invalid operation
2012-08-13 20:36:05 +03:00
Sjoerd Simons
0b7e128a52 build-sys: webrtc-utils needs to be installed before module-echo-cancel
Like other plugin helper libraries these need to be installed
before the plugins that use them..
2012-08-04 08:31:42 +02:00
Deng Zhengrong
84ffc41bfb tests: enable to test standalone pulseaudio daemon
With this fix, `check-daemon` doesn't need a system-wide running pulseaudio
anymore.

The method to use is to invoke `make check-daemon` under `src/` and it just
works! :)
2012-08-04 08:28:48 +02:00