profile/ivi/pulseaudio-panda.git
13 years agocore: Fix variable "has_whined" value bug
Yang Xichuan [Thu, 16 Dec 2010 03:31:36 +0000 (11:31 +0800)]
core: Fix variable "has_whined" value bug

In the file src/pulsecore/random.c

I found that the log information "Failed to get proper entropy. Falling
back to seeding with current time." would never be printed.

This change corrects the issue.

13 years agotrivial: Mention speex as a resampler reference in pulse-daemon.conf
Daniel T Chen [Sat, 18 Dec 2010 04:55:21 +0000 (23:55 -0500)]
trivial: Mention speex as a resampler reference in pulse-daemon.conf

A Debian user seemed confused that the man page for pulse-daemon.conf
does not refer to the libspeex API Resampler for use in PulseAudio's
*-src. Fix it by explicitly mentioning speex.

(http://bugs.debian.org/541206)

Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
13 years agomodule-loopback: Prevent an infinite loop when rate adjusting is disabled
Maarten Lankhorst [Sat, 11 Dec 2010 11:05:30 +0000 (12:05 +0100)]
module-loopback: Prevent an infinite loop when rate adjusting is disabled

13 years agobluetooth: Fix a2dp processing
Maarten Lankhorst [Fri, 10 Dec 2010 19:34:05 +0000 (20:34 +0100)]
bluetooth: Fix a2dp processing

13 years agovolume: Trivial cosmetics (remove a space)
Colin Guthrie [Mon, 6 Dec 2010 15:45:22 +0000 (15:45 +0000)]
volume: Trivial cosmetics (remove a space)

13 years agojack: Add module-jackdbus-detect
David Henningsson [Tue, 30 Nov 2010 03:59:27 +0000 (04:59 +0100)]
jack: Add module-jackdbus-detect

13 years agobuild-sys: Fix a warning during distcheck
Arun Raghavan [Sun, 5 Dec 2010 10:38:32 +0000 (16:08 +0530)]
build-sys: Fix a warning during distcheck

This adds a dummy Makefile.am to the dbus module to eliminate missing
directory warnings during distcheck.

13 years agoi18n: Update POTFILES.*
Arun Raghavan [Sun, 5 Dec 2010 10:17:17 +0000 (15:47 +0530)]
i18n: Update POTFILES.*

Add new modules, and skip module-virtual-sink for i18n since it's really
meant to be a template for writing other modules.

13 years agobuild-sys: Include the .version file in the distribution tarball
Colin Guthrie [Sat, 4 Dec 2010 13:47:43 +0000 (13:47 +0000)]
build-sys: Include the .version file in the distribution tarball

As per the comments in git-version-gen, the .version file that is
typically generated automatically during build should be included
in the tarball, so generate it in the dist-hook.

This fixes a problem when running make distcheck which uses a read-only
source folder and thus cannot generate the $top_srcdir/.version as
part of it's build process (it uses a _build folder which is r/w)
and thus cannot be built.

13 years agobuild-sys: Fix make distcheck failure due to udev rules fixed install path
Colin Guthrie [Sat, 4 Dec 2010 12:01:01 +0000 (12:01 +0000)]
build-sys: Fix make distcheck failure due to udev rules fixed install path

I don't know why this does not honour DESTDIR or similar during distcheck
but this simple enough patch fixes it.

13 years agobuild-sys: Replace dummy Makefiles with proper Makefile.am's
Colin Guthrie [Fri, 3 Dec 2010 17:20:16 +0000 (17:20 +0000)]
build-sys: Replace dummy Makefiles with proper Makefile.am's

This is needed to better support out of tree builds (including
distcheck) and to ensure the necessary folders are created in the
build tree on configure and also works around an intl-tools bug
(https://bugs.launchpad.net/intltool/+bug/605826)

The Makefile.am's used are minimal (and in some cases completely
blank). At present they do not include anything interesting
with the majority of the real work still done by the monolitic
src/Makefile.am

It may make sense to start splitting out src/Makefile.am into
smaller chunks but this commit makes the minimum changes to address
the issues that result from using make distcheck and other out of
tree builds.

Note: This 'breaks' the ability to type make in e.g. the src/modules
folder and have all of PA rebuilt accordingly (this is because the
static Makefiles previously present just did a "make -C ..") which
was purportedly for use in emacs. But I'm sure there will be a better
and more robust way to configure emacs to do your builds properly if
this behaviour is still desirable.

13 years agobuild-sys: Add some smarts to version extraction from git tags.
Colin Guthrie [Sat, 4 Dec 2010 17:21:27 +0000 (17:21 +0000)]
build-sys: Add some smarts to version extraction from git tags.

When we are dealing with a tag against a commit with other tags applied,
then favour the first tag, not the last one. This allows us to tag a release
as e.g. v1.0, v1.1-dev and v2.0-dev and get a version of 1.0 rather than the
newer tags.

This also removes support for git versions that do not accept
the --match argument as we also now make use of the --contains arg
which was added at the same time (I think)

Additionally, the v variable is reset just incase it is already exported
in the shell for some reason.

13 years agodoxygen: Fix version numbers for new features
Colin Guthrie [Sat, 4 Dec 2010 16:43:04 +0000 (16:43 +0000)]
doxygen: Fix version numbers for new features

Due to how our branching worked out, these new features will
debut in v1.0 and not v0.9.22 which has already been released
from the stable-queue branch

13 years agoecho-cancel: Fix source may_move_to function
Arun Raghavan [Thu, 2 Dec 2010 11:04:03 +0000 (16:34 +0530)]
echo-cancel: Fix source may_move_to function

This is required to make sure that the source output between
module-echo-cancel and ALSA can't get plugged to the virtual source or
monitor of the virtual sink that we expose. This could be triggered by
changing the profile of the underlying ALSA device.

13 years agorescue-streams: Fix segfault in some conditions
Arun Raghavan [Thu, 2 Dec 2010 11:00:59 +0000 (16:30 +0530)]
rescue-streams: Fix segfault in some conditions

There is a call to this function where 'skip' variable is NULL. Looks
like this code doesn't get hit very often, probably because a suitable
default sink can be found to move the stream to. However, if we can't
move to the default sink and skip is NULL, there will be a segfault.

13 years agoalsa-sink: take base volume into account when applying hw volume
Juho Hämäläinen [Thu, 25 Nov 2010 13:15:17 +0000 (15:15 +0200)]
alsa-sink: take base volume into account when applying hw volume

Currently if sink base volume differs from 0dB and sync-volume is used,
wrong volume values are written to hw. This patch fixes that.

Signed-off-by: Juho Hämäläinen <ext-juho.hamalainen@nokia.com>
13 years agoman: Reference correct `--use-pid-file` and fix typo (`s/Of/If/`).
Paul Menzel [Sun, 31 Jan 2010 13:15:31 +0000 (14:15 +0100)]
man: Reference correct `--use-pid-file` and fix typo (`s/Of/If/`).

Also reword to avoid referring to the legacy /tmp/pulse-$USER
path (Colin Guthrie)

13 years agobuild-sys: simplify things for building on fedora
Lennart Poettering [Fri, 26 Nov 2010 01:08:21 +0000 (02:08 +0100)]
build-sys: simplify things for building on fedora

13 years agoi18n: update POTFILES.in
Lennart Poettering [Fri, 26 Nov 2010 00:58:46 +0000 (01:58 +0100)]
i18n: update POTFILES.in

13 years agobuild-sys: bump soname
Lennart Poettering [Fri, 26 Nov 2010 00:38:43 +0000 (01:38 +0100)]
build-sys: bump soname

13 years agobuild-sys: Link lirc libraries in right order
Jyri Sarha [Fri, 26 Nov 2010 16:38:27 +0000 (18:38 +0200)]
build-sys: Link lirc libraries in right order

Wrong order of libraries causes libtool to link primarily from lirc
library location and not from $(libdir) location in install
phase. This is a problem if you have an older version pulseaudio libs
installed under same directory as liblirc and you are building a
newer version with some other directory prefix.

13 years agobuild-sys: Link binaries linking libpulsecommon to libpulse too
Jyri Sarha [Fri, 26 Nov 2010 16:38:26 +0000 (18:38 +0200)]
build-sys: Link binaries linking libpulsecommon to libpulse too

Build fails if a symbol is removed from from libpulsecommon. Linking
explicitly to libpulse fixes the problem.

13 years agobuild-sys: Link binaries linking libpulse to libpulsecommon too
Jyri Sarha [Fri, 26 Nov 2010 16:38:25 +0000 (18:38 +0200)]
build-sys: Link binaries linking libpulse to libpulsecommon too

Build appeared to fails when a new function is added to
libpulsecommon. This is because build uses libpulsecommon that is
installed into system instead of the one that is being built. Explicit
linking to libpulsecommon fixes the problem.

13 years agocore: Add name to flist struct for more informative log messages
Jyri Sarha [Fri, 26 Nov 2010 16:38:24 +0000 (18:38 +0200)]
core: Add name to flist struct for more informative log messages

PA_STATIC_FLIST_DECLARE macro sets the flist name automatically.

13 years agocore: Lower "flist is full" log message level to debug and ratelimit it
Jyri Sarha [Fri, 26 Nov 2010 16:38:23 +0000 (18:38 +0200)]
core: Lower "flist is full" log message level to debug and ratelimit it

13 years agovolume: Add explicit checks for ARMv6 instructions
Arun Raghavan [Fri, 26 Nov 2010 06:25:57 +0000 (11:55 +0530)]
volume: Add explicit checks for ARMv6 instructions

This ensures that the build does not fail if the ssat and pkhbt
instructions are not available (armv5te and below).

Fixes: http://www.pulseaudio.org/ticket/790

13 years agoversion: Drop the micro version number
Colin Guthrie [Sun, 28 Nov 2010 14:27:08 +0000 (14:27 +0000)]
version: Drop the micro version number

As per discussions with Lennart, we will be moving to a two-component version
number scheme when the next release is made from git master branch.

This means we will be dropping the micro version component (although
for compatibility, it will remain defined as 0 in version.h).

For more information, please see the announcement here:
 http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/7921

13 years agomodule-bonjour-publish: don't include avahi headers
Daniel Mack [Fri, 19 Nov 2010 02:30:55 +0000 (18:30 -0800)]
module-bonjour-publish: don't include avahi headers

The avahi layer won't work on OSX and is unnecessary, too.

13 years agoalsa-source: fix enum types
Lennart Poettering [Thu, 25 Nov 2010 03:34:04 +0000 (04:34 +0100)]
alsa-source: fix enum types

13 years agoalsa-mixer: make a few strings translatable
Lennart Poettering [Thu, 25 Nov 2010 03:03:56 +0000 (04:03 +0100)]
alsa-mixer: make a few strings translatable

Original patch contributed by 'kelemeng'

http://pulseaudio.org/ticket/843

13 years agopulse: make sure legacy_dir is not static
Jan Kratochvil [Thu, 25 Nov 2010 02:49:27 +0000 (03:49 +0100)]
pulse: make sure legacy_dir is not static

13 years agoHandle 'Internal Mic 1' as an 'Input Source'
Daniel T Chen [Thu, 25 Nov 2010 14:54:07 +0000 (09:54 -0500)]
Handle 'Internal Mic 1' as an 'Input Source'

BugLink: https://launchpad.net/bugs/680810
Some laptops have 'Internal Mic 1' exposed as an 'Input Source', e.g., Dell
XPSM 1530, so handle these, too.

Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
13 years agoAdd "Rear Mic" to alsa mixer paths.
David Henningsson [Fri, 19 Nov 2010 09:41:46 +0000 (10:41 +0100)]
Add "Rear Mic" to alsa mixer paths.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
13 years agoalsa: Print dB values in addition to percentages in debug messages.
Tanu Kaskinen [Thu, 18 Nov 2010 16:12:51 +0000 (18:12 +0200)]
alsa: Print dB values in addition to percentages in debug messages.

How about this? There are a couple of bugs in sink_write_volume_cb,
by the way. Another patch will be sent once this dB value printing
patch is accepted.
-- 8< --

13 years agoalsa: Sprinkle some PA_UNLIKELYs around error checks
Arun Raghavan [Thu, 18 Nov 2010 04:32:10 +0000 (10:02 +0530)]
alsa: Sprinkle some PA_UNLIKELYs around error checks

This just adds a few PA_UNLIKELY macros around some error paths in
frequently called code.

13 years agoman: Remove repeated lines
Wanming.Zhang@tieto.com [Thu, 18 Nov 2010 02:17:36 +0000 (04:17 +0200)]
man: Remove repeated lines

From 3c18dbe5889816792db27c9a7253a83687d68ee9 Mon Sep 17 00:00:00 2001
From: Zhang Wanming <wanming.zhang@tieto.com>
Date: Thu, 18 Nov 2010 10:03:39 +0800
Subject: [PATCH] man: Remove repeated lines

Signed-off-by: Zhang Wanming <wanming.zhang@tieto.com>
13 years agocombine: Only check if the sink is h/w etc. in automatic mode
Colin Guthrie [Wed, 17 Nov 2010 23:43:36 +0000 (23:43 +0000)]
combine: Only check if the sink is h/w etc. in automatic mode

13 years agoupnp: Implement the MediaServer2 D-Bus interface
Stephen Moehle [Sun, 14 Nov 2010 20:31:15 +0000 (12:31 -0800)]
upnp: Implement the MediaServer2 D-Bus interface

This allows PulseAudio to work with versions of Rygel 0.7.1 and higher
which only support MediaServer2:
 http://live.gnome.org/Rygel/MediaServer2Spec

13 years agocore: New LIFO style flist implementation v2.2
Jyri Sarha [Mon, 30 Nov 2009 14:55:27 +0000 (16:55 +0200)]
core: New LIFO style flist implementation v2.2

The old free list implementation used objects in FIFO style. This is
bad because it tries keep all the objects ever used alive and in
memory. This minimizes the changes that an allocated object is already
in cache. When there is shortage of physical memory this may also
increase change that newly allocated object is swapped out. LIFO
(e.g. stack) style free list should help these issues. Like the old
one the new implementation is also lock free. This version (v2.1) of
the patch has a potential weakness fixed. The previous version (2.0)
did segfault when popping from empty flist, this does not.

13 years agocombine: Handle reappearing slave sinks in non-automatic mode.
Antti-Ville Jansson [Fri, 12 Nov 2010 07:52:48 +0000 (09:52 +0200)]
combine: Handle reappearing slave sinks in non-automatic mode.

Earlier, if slave sinks were unlinked in non-automatic mode, their
re-appearance was disregarded. Now they are added back to the list of outputs.

Signed-off-by: Antti-Ville Jansson <antti-ville.jansson@digia.com>
Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com>
13 years agoalsa: remove redundant call to snd_pcm_nonblock()
Pierre-Louis Bossart [Thu, 11 Nov 2010 16:19:25 +0000 (10:19 -0600)]
alsa: remove redundant call to snd_pcm_nonblock()

The PCM handle is already opened with the SND_PCM_NONBLOCK flag.
This additional call is useless.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
14 years agocore: make use of dbus_message_iter_append_fixed_array
Luiz Augusto von Dentz [Wed, 20 Oct 2010 11:04:38 +0000 (14:04 +0300)]
core: make use of dbus_message_iter_append_fixed_array

dbus_message_iter_append_fixed_array does appends a block of fixed-length
values to an array.

14 years agobluetooth: make use of dbus-util helper functions
Luiz Augusto von Dentz [Wed, 20 Oct 2010 10:50:40 +0000 (13:50 +0300)]
bluetooth: make use of dbus-util helper functions

14 years agodbus: Fix log message after volume changes.
Colin Guthrie [Tue, 19 Oct 2010 08:53:45 +0000 (09:53 +0100)]
dbus: Fix log message after volume changes.

14 years agovolume: Fix incorrect usage of PA_VOLUME_IS_VALID
Arun Raghavan [Tue, 19 Oct 2010 07:33:48 +0000 (13:03 +0530)]
volume: Fix incorrect usage of PA_VOLUME_IS_VALID

The commit that introduced this macro was incorrect in some places. This
patch fixes these. Thanks to Pierre-Louis Bossart for pointing this out.

14 years agolog: Totally trivial spelling 'correction' (for en-US)
Colin Guthrie [Sun, 17 Oct 2010 20:05:39 +0000 (21:05 +0100)]
log: Totally trivial spelling 'correction' (for en-US)

14 years agoman: Clarify wording in volume sync documentation.
Paul Menzel [Sun, 17 Oct 2010 17:28:27 +0000 (19:28 +0200)]
man: Clarify wording in volume sync documentation.

14 years agointended-roles: Mark devices with a form factor of 'headset' as being appropriate...
Colin Guthrie [Sat, 16 Oct 2010 11:26:32 +0000 (12:26 +0100)]
intended-roles: Mark devices with a form factor of 'headset' as being appropriate for 'phone' streams

This was a result a report by Patrick Ben Koetter relating to his
Logitech Wireless Headset.

14 years agoalsa-mixer: add profile for Native Instruments Korecontroller
Daniel Mack [Fri, 15 Oct 2010 16:18:43 +0000 (18:18 +0200)]
alsa-mixer: add profile for Native Instruments Korecontroller

14 years agoman: sync_volume parameters to manual page
Jyri Sarha [Fri, 15 Oct 2010 10:05:18 +0000 (13:05 +0300)]
man: sync_volume parameters to manual page

Some wording teaks by Colin Guthrie and others.

Signed-off-by: Jyri Sarha <jyri.sarha@nokia.com>
Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com>
14 years agodaemon-conf: Add sync volume parameters to daemon-conf
Jyri Sarha [Fri, 15 Oct 2010 10:05:17 +0000 (13:05 +0300)]
daemon-conf: Add sync volume parameters to daemon-conf

Signed-off-by: Jyri Sarha <jyri.sarha@nokia.com>
Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com>
Reviewd-by: Colin Guthrie <cguthrie@mandriva.org>
14 years agoudev-detect: Add sync_volume parameter
Jyri Sarha [Fri, 15 Oct 2010 10:05:16 +0000 (13:05 +0300)]
udev-detect: Add sync_volume parameter

Signed-off-by: Jyri Sarha <jyri.sarha@nokia.com>
Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com>
Reviewd-by: Colin Guthrie <cguthrie@mandriva.org>
14 years agoalsa: Take syncronized HW volume infra into use for alsa-sink
Jyri Sarha [Fri, 15 Oct 2010 10:05:15 +0000 (13:05 +0300)]
alsa: Take syncronized HW volume infra into use for alsa-sink

Signed-off-by: Jyri Sarha <jyri.sarha@nokia.com>
Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com>
Reviewd-by: Colin Guthrie <cguthrie@mandriva.org>
14 years agocore: Add infrastructure for synchronizing HW and SW volume changes
Jyri Sarha [Fri, 15 Oct 2010 10:05:14 +0000 (13:05 +0300)]
core: Add infrastructure for synchronizing HW and SW volume changes

To make concurrent use of SW and HW volume glitchles their application
needs to be synchronized. For accurate synchronization the HW volume
needs to be applied in IO thread. This patch adds infrastructure to
delay the applying of HW volume to match with SW volume timing. To
avoid synchronization problems this patch moves many of the volume and
mute related functions from main thread to IO thread. All these
changes become active only if the sync volume flag for a sink has been
set. So, for this patch to have any effect it needs to be taken into
use by sink implementor.

Signed-off-by: Jyri Sarha <jyri.sarha@nokia.com>
Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com>
Reviewd-by: Colin Guthrie <cguthrie@mandriva.org>
14 years agovolume: Decrease PA_VOLUME_MAX to be < 2^31
Arun Raghavan [Sat, 9 Oct 2010 17:59:51 +0000 (23:29 +0530)]
volume: Decrease PA_VOLUME_MAX to be < 2^31

This decrease PA_VOLUME_MAX to be less than 2^31. We want to do this in
order to simplify signed arithmetic when applying software volume
scaling (since the volume can now always be safely treated as a signed
number).

14 years agopactl: Validate volume before setting
Arun Raghavan [Sat, 9 Oct 2010 17:41:26 +0000 (23:11 +0530)]
pactl: Validate volume before setting

This makes sure that a valid volume is provided before setting on
sink/sink-input/source.

14 years agocli: Validate volume before setting
Arun Raghavan [Sat, 9 Oct 2010 17:40:00 +0000 (23:10 +0530)]
cli: Validate volume before setting

This causes an error to be generated if an invalid volume is provided to
commands that set sink/sink-input/source volume.

14 years agovolume: Clamp volume to PA_VOLUME_MAX
Arun Raghavan [Sat, 9 Oct 2010 10:08:43 +0000 (15:38 +0530)]
volume: Clamp volume to PA_VOLUME_MAX

This ensures that we always clamp the volume to PA_VOLUME_MAX. While
this currently has no effect, it will be required for making sure we
don't exceed PA_VOLUME_MAX when its value changes in the future.

14 years agovolume: Use a macro to check if a volume is valid
Arun Raghavan [Sat, 9 Oct 2010 17:00:20 +0000 (22:30 +0530)]
volume: Use a macro to check if a volume is valid

This adds a PA_VOLUME_IS_VALID() macro for checking if a given
pa_volume_t is valid. This makes changes to the volume ranges simpler
(just change PA_VOLUME_MAX, for example, without needing to modify any
other code).

14 years agoSSE/MMX/ARM: Fix high frequency noise with unusual number of channels
David Henningsson [Fri, 8 Oct 2010 16:47:00 +0000 (18:47 +0200)]
SSE/MMX/ARM: Fix high frequency noise with unusual number of channels

In the assembly optimized versions of SSE, a noise could occur when the
number of channels were 3,5,6 or 7. For MMX and ARM, this could occur
when the number of channels were 3.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
14 years agoMerge remote branch 'vudentz2/master'
Colin Guthrie [Wed, 13 Oct 2010 08:21:01 +0000 (09:21 +0100)]
Merge remote branch 'vudentz2/master'

14 years agodoxygen: Add 'See also' linking to the overview page
David Fries [Sun, 3 Oct 2010 18:41:27 +0000 (13:41 -0500)]
doxygen: Add 'See also' linking to the overview page

A good many of the header files are broken into a function
reference page and an overview page.  These changes add
a direct link from each function reference page to their
overview page if one exists.

14 years agodoxygen: Documentation improvements
David Fries [Wed, 13 Oct 2010 01:05:47 +0000 (20:05 -0500)]
doxygen: Documentation improvements

stream.h, simple.h
The words drain and flush are a little ambiguous, make it explicit as
to what happens to any existing audio.

*mainloop.h
reword *_free and *_get_api for grammar

14 years agodoxygen: Fix the "all" comments regarding volume helper functions.
David Fries [Tue, 12 Oct 2010 23:22:27 +0000 (18:22 -0500)]
doxygen: Fix the "all" comments regarding volume helper functions.

Mostly change "Set the volume of all channels" to
"Set the volume of the first n channels" as the first is incorrect,
it doesn't set all the channels and doesn't explain what n was for.

14 years agodoxygen: Fix documentation typos
David Fries [Sat, 18 Sep 2010 14:07:15 +0000 (09:07 -0500)]
doxygen: Fix documentation typos

14 years agobluetooth: Add support for Media API
Luiz Augusto von Dentz [Thu, 7 Oct 2010 14:22:41 +0000 (17:22 +0300)]
bluetooth: Add support for Media API

Make use of D-Bus to transfer file descriptors.

14 years agointrospect: Include whether a stream is corked in the info callback.
Colin Guthrie [Mon, 4 Oct 2010 10:48:43 +0000 (11:48 +0100)]
introspect: Include whether a stream is corked in the info callback.

14 years agoaugment-properties: Fix debug messages and statement bracketing.
Colin Guthrie [Wed, 6 Oct 2010 08:16:16 +0000 (09:16 +0100)]
augment-properties: Fix debug messages and statement bracketing.

14 years agosink-input: Fix comment
Colin Guthrie [Fri, 1 Oct 2010 00:32:37 +0000 (01:32 +0100)]
sink-input: Fix comment

14 years agosuspend: Do not assert when checking for device suspended status and a stream is...
Colin Guthrie [Fri, 1 Oct 2010 00:26:43 +0000 (01:26 +0100)]
suspend: Do not assert when checking for device suspended status and a stream is not linked.

When looping through the streams on a given device checking to see if the
stream is 'active' there should be no assert if the stream is not linked, it
should simply be ignored.

This assert can be hit if a sink and a sink input are both created and setup
but the final put calls are left to the end as is done in module-ladspa-sink.

While the order of the calls in module-ladspa-sink could be altered, we should
deal gracefully with the way it is now and not complain about ending up
in this state.

A trigger case was trivial:
 1. Load a ladspa-sink.
 2. Play a stream and move it to it.
 3. Unload the module, then reload it.
 4. Due to module-stream-restore and module-suspend-on-idle, the hook callbacks
    will ultimately hit this assert.

Thanks to Kim Therkelsen for highlighting this issue.

14 years agodevice-manager: Ensure that sinks/sources populate the device manager lists in order...
Colin Guthrie [Fri, 4 Jun 2010 08:36:57 +0000 (09:36 +0100)]
device-manager: Ensure that sinks/sources populate the device manager lists in order of their priority.

Currently the order of the sinks is simply that of their position in the idxset which is certainly
not what the user would want.

14 years agoaugment-properties: Search for .desktop files in subfolders too.
Colin Guthrie [Sun, 31 Jan 2010 16:35:41 +0000 (16:35 +0000)]
augment-properties: Search for .desktop files in subfolders too.

14 years agobuild: Copy orc dist files to the correct directory
Arun Raghavan [Wed, 29 Sep 2010 15:26:48 +0000 (20:56 +0530)]
build: Copy orc dist files to the correct directory

14 years agoecho-cancel: Use S16NE for adrian module
Arun Raghavan [Mon, 27 Sep 2010 11:27:01 +0000 (16:57 +0530)]
echo-cancel: Use S16NE for adrian module

This forces us to get native-endian samples in the adrian module so that
we can rely on the existing endianness conversion mechanisms instead of
doing it in the module.

14 years agoecho-cancel: Ensure correct handling of endianness
Arun Raghavan [Thu, 23 Sep 2010 12:16:00 +0000 (17:46 +0530)]
echo-cancel: Ensure correct handling of endianness

The adrian module was using home-brewed endianness conversion instead of
the appropriate mactos, and speex assumed a little-endian host. This
fixes both of these.

14 years agoecho-cancel: orc-ify some bits for optimisation
Arun Raghavan [Mon, 13 Sep 2010 13:11:30 +0000 (18:41 +0530)]
echo-cancel: orc-ify some bits for optimisation

This uses Orc to optimise an inner loop in the core NLMS function of the
Adrian echo canceller.

14 years agoecho-cancel: Add SSE optimisation to the adrian module
Arun Raghavan [Tue, 21 Sep 2010 15:12:32 +0000 (20:42 +0530)]
echo-cancel: Add SSE optimisation to the adrian module

Optimises the core inner-product function, which takes the most CPU. The
SSE-optimised bits of the adrian echo canceller only if the CPU that PA
is running on actually supports SSE.

14 years agocpu: Add CPU information to pa_core
Arun Raghavan [Tue, 14 Sep 2010 09:51:49 +0000 (15:21 +0530)]
cpu: Add CPU information to pa_core

This retains CPU information (processor type and supported features) in
pa_core, so that this information can be used by modules at init time to
figure out what optimisations may be used.

14 years agobuild: Fix make distcheck
Arun Raghavan [Thu, 23 Sep 2010 11:46:41 +0000 (17:16 +0530)]
build: Fix make distcheck

src/utils/qpaeq was not being dist'ed

14 years agoecho-cancel: Fix out-of-tree build
Arun Raghavan [Mon, 20 Sep 2010 08:37:44 +0000 (14:07 +0530)]
echo-cancel: Fix out-of-tree build

14 years agox11: Use the default screen for X11 properties.
Colin Guthrie [Sat, 18 Sep 2010 10:12:56 +0000 (11:12 +0100)]
x11: Use the default screen for X11 properties.

This commit restores the functionality originally included in 65e807
by Leszek Koltunski.

14 years agoxcb: xcb_get_setup() can return 0, so make sure we check it before using
Colin Guthrie [Sat, 18 Sep 2010 09:37:11 +0000 (10:37 +0100)]
xcb: xcb_get_setup() can return 0, so make sure we check it before using

14 years agoxcb: Ensure the XCB connection is valid before using it.
Colin Guthrie [Sat, 18 Sep 2010 09:35:38 +0000 (10:35 +0100)]
xcb: Ensure the XCB connection is valid before using it.

14 years agox11: Partially convert to XCB.
Colin Guthrie [Sat, 29 May 2010 18:33:54 +0000 (19:33 +0100)]
x11: Partially convert to XCB.

This commit mostly converts the X11 handling to XCB. There are still
some uses of XLib to deal with the X11 session handling modules, however all
client-side code should now be free of XLib and thus this should fix Bug #799

Note that this removes the screen-based changes by Leszek Koltunski
in 65e80, however this will be restored in due course.

14 years agoalsa: Only set the 'first' flag to false when we actually call snd_pcm_start()
Colin Guthrie [Tue, 14 Sep 2010 18:44:57 +0000 (19:44 +0100)]
alsa: Only set the 'first' flag to false when we actually call snd_pcm_start()

Previously, if work_done was false, we could conceivably not call snd_pcm_start().

14 years agoalsa: Set the rewind safeguard proportionally to sample spec
Colin Guthrie [Sat, 4 Sep 2010 10:58:05 +0000 (11:58 +0100)]
alsa: Set the rewind safeguard proportionally to sample spec

Currently when rewinding alsa, a fixed value of 256 bytes is used,
which represents 1.33ms @ 48kHz (2ch, 16bit). This is typically fine
and due to DMA constraints we would not want to rewind less than this.

However with more demanding sample specs, (e.g. 8ch 192kHz 32bit)
256 bytes is likely not sufficient, so calculate what 1.33ms would
be and use which ever value is bigger.

Discussed with David Henningsson and Pierre-Louis Bossart here:
 http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/7286

14 years agoalsa-mixer: add profile for Traktor Kontrol S4
Daniel Mack [Sat, 11 Sep 2010 02:06:00 +0000 (10:06 +0800)]
alsa-mixer: add profile for Traktor Kontrol S4

This new audio interface from Native Instruments has 2 stereo channels
for both input and output direction. This patch adds mappings for them.

14 years agoecho-cancel: Fix make distcheck
Rico Tzschichholz [Fri, 10 Sep 2010 10:56:40 +0000 (12:56 +0200)]
echo-cancel: Fix make distcheck

Add missing files to module_echo_cancel_la_SOURCES
Add Adrian license file to EXTRA_DIST

14 years agoecho-cancel: pause timer when echo canceling is off
Wim Taymans [Thu, 9 Sep 2010 14:20:20 +0000 (16:20 +0200)]
echo-cancel: pause timer when echo canceling is off

While the sink or source is in the suspended state, disable the timer
callback because we are not doing any echo canceling then.

14 years agoecho-cancel: improve accuracy
Wim Taymans [Thu, 9 Sep 2010 10:39:15 +0000 (12:39 +0200)]
echo-cancel: improve accuracy

Make the echo canceler drift up to 1ms now that things are more accurate.
Add 10 samples of headroom to allow for timing inaccuracies.

14 years agoalsa: make defines for smoother configuration
Wim Taymans [Thu, 9 Sep 2010 10:29:59 +0000 (12:29 +0200)]
alsa: make defines for smoother configuration

Make new defines for the smoother window size and adjust time constants instead
of reusing some unrelated constant.

Increase the smoother window size even more because the bigger it is, the
better. Since we have a 200ms max update interval and the max smoother history
is 64 entries, 10seconds is a good default.

Decrease the smoother adjust time to 1 second. The previous value of 4 seconds
was too much to adapt quickly after a resume.

14 years agoecho-cancel: rework alignment code
Wim Taymans [Wed, 8 Sep 2010 16:49:48 +0000 (18:49 +0200)]
echo-cancel: rework alignment code

Rework the code to align capture and playback samples so that we can keep more
accurate timings.

14 years agoalsa: work around slightly broken _delay implementations
Wim Taymans [Wed, 8 Sep 2010 11:26:39 +0000 (13:26 +0200)]
alsa: work around slightly broken _delay implementations

Use snd_pcm_avail_delay() in pa_alsa_safe_delay() so that we can check the delay
value against the avail value and patch it up when it looks invalid. Only do
this for capture.

14 years agoalsa-time-test: make test usable for capture too
Wim Taymans [Mon, 6 Sep 2010 15:48:56 +0000 (17:48 +0200)]
alsa-time-test: make test usable for capture too

Extend the test to also work for capture devices.

14 years agoalsa-source: refactor smoother and device start
Wim Taymans [Mon, 6 Sep 2010 13:26:19 +0000 (15:26 +0200)]
alsa-source: refactor smoother and device start

Move the code to start the capture and the smoother closer together to improve
smoother accuracy.
Rework things to look more like the alsa sink where the device is started in
only one place.

14 years agosmoother: avoid losing precision
Wim Taymans [Mon, 6 Sep 2010 13:22:26 +0000 (15:22 +0200)]
smoother: avoid losing precision

Avoid losing precision by subtracting uint64 values before converting them to
doubles.

14 years agoecho-cancel: Mark immutable parameters as const in vfunc
Arun Raghavan [Tue, 7 Sep 2010 09:37:39 +0000 (15:07 +0530)]
echo-cancel: Mark immutable parameters as const in vfunc

Marks the recording and playback streams as const in the
pa_echo_canceller->run method for clarity.

14 years agoecho-cancel: Make blocksize a module-wide parameter
Arun Raghavan [Tue, 7 Sep 2010 09:25:38 +0000 (14:55 +0530)]
echo-cancel: Make blocksize a module-wide parameter

Since all algorithms will need to specify a block size (the amount of
data to be processed together), we make this a common parameter and have
the implementation set it at initialisation time.

14 years agoecho-cancel: Allow selection of AEC method using modargs
Arun Raghavan [Tue, 7 Sep 2010 08:32:32 +0000 (14:02 +0530)]
echo-cancel: Allow selection of AEC method using modargs

This adds an "aec_method" module argument to allow us to select the AEC
implementation to use.

14 years agoecho-cancel: Add alternative echo-cancellation implementation
Arun Raghavan [Tue, 7 Sep 2010 08:13:58 +0000 (13:43 +0530)]
echo-cancel: Add alternative echo-cancellation implementation

This adds Andre Adrian's AEC implementation from his intercom project
(http://andreadrian.de/intercom/) as an alternative to the speex echo
cancellation routines. Since the implementation was in C++ and not in
the form of a library, I have converted the code to C and made a local
copy of the implementation.

The implementation actually works on floating point data, so we can
tweak it to work with both integer and floating point samples (currently
we just use S16LE).