Tanu Kaskinen [Thu, 24 Feb 2011 14:16:40 +0000 (16:16 +0200)]
virtual-sink: Add a modarg for forcing flat volume.
Tanu Kaskinen [Thu, 24 Feb 2011 14:16:39 +0000 (16:16 +0200)]
virtual-sink: Add a modarg for enabling volume sharing.
Tanu Kaskinen [Thu, 24 Feb 2011 14:16:38 +0000 (16:16 +0200)]
Implement the "volume sharing" feature.
When we have a filter sink that does some processing, currently the
benefits of the flat volume feature are not really available. That's
because if you have a music player that is connected to the filter sink,
the hardware sink doesn't have any idea of the music player's stream
volume.
This problem is solved by this "volume sharing" feature. The volume
sharing feature works so that the filter sinks that want to avoid the
previously described problem declare that they don't want to have
independent volume, but they follow the master sink volume instead.
The PA_SINK_SHARE_VOLUME_WITH_MASTER sink flag is used for that
declaration. Then the volume logic is changed so that the hardware
sink calculates its real volume using also the streams connected to the
filter sink in addition to the streams that are connected directly to
the hardware sink. Basically we're trying to create an illusion that
from volume point of view all streams are connected directly to the
hardware sink.
For that illusion to work, the volumes of the filter sinks and their
virtual streams have to be managed carefully according to a set of
rules:
If a filter sink follows the hardware sink volume, then the filter sink's
* reference_volume always equals the hw sink's reference_volume
* real_volume always equals the hw sink's real_volume
* soft_volume is always 0dB (ie. no soft volume)
If a filter sink doesn't follow the hardware sink volume, then the filter
sink's
* reference_volume can be whatever (completely independent from the hw sink)
* real_volume always equals reference_volume
* soft_volume always equals real_volume (and reference_volume)
If a filter sink follows the hardware sink volume, and the hardware sink
supports flat volume, then the filter sink's virtual stream's
* volume always equals the hw sink's real_volume
* reference_ratio is calculated normally from the stream volume and the hw
sink's reference_volume
* real_ratio always equals 0dB (follows from the first point)
* soft_volume always equals volume_factor (follows from the previous point)
If a filter sink follows the hardware sink volume, and the hardware sink
doesn't support flat volume, then the filter sink's virtual stream's
* volume is always 0dB
* reference_ratio is always 0dB
* real_ratio is always 0dB
* soft_volume always equals volume_factor
If a filter sink doesn't follow the hardware sink volume, then the filter
sink's virtual stream is handled as a regular stream.
Since the volumes of the virtual streams are controlled by a set of rules,
the user is not allowed to change the virtual streams' volumes. It would
probably also make sense to forbid changing the filter sinks' volume, but
that's not strictly necessary, and currently changing a filter sink's volume
changes actually the hardware sink's volume, and from there it propagates to
all filter sinks ("funny" effects are expected when adjusting a single
channel in cases where all sinks don't have the same channel maps).
This patch is based on the work of Marc-André Lureau, who did the
initial implementation for Pulseaudio 0.9.15.
David Henningsson [Wed, 19 Jan 2011 14:40:56 +0000 (15:40 +0100)]
alsa-mixer: Make sure capture source and input source use right path
Make sure that mic and line (with common names) use the specific
path instead of the analog-input one.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
David Henningsson [Wed, 5 Jan 2011 13:03:15 +0000 (14:03 +0100)]
alsa-mixer: Fixup "Mic"/"Line"/"analog-input" paths to work with the new paths
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
David Henningsson [Wed, 5 Jan 2011 12:27:53 +0000 (13:27 +0100)]
alsa-mixer: Add new paths for Internal Mic, Front Mic, Rear Mic and Dock Mic
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
David Henningsson [Wed, 5 Jan 2011 11:36:59 +0000 (12:36 +0100)]
alsa-mixer: always round towards 0 dB
Always round towards 0 dB. Also add a few debug comments to aid
troubleshooting.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
David Henningsson [Mon, 20 Dec 2010 11:29:27 +0000 (12:29 +0100)]
alsa-mixer: add required-any and required-* for enum options
Now you can add required-any to elements in a path and the path
will be valid as long as at least one of the elements are present.
Also you can have required, required-any and required-absent in
element options, causing a path to be unsupported if an option is
(not) present (simplified example: to skip line in path if
"Capture source" doesn't have a "Line In" option).
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
David Henningsson [Mon, 20 Dec 2010 10:13:37 +0000 (11:13 +0100)]
alsa-mixer: Add a few well-known descriptions
Add front mic, rear mic, and docking line-in. These are likely to be
present on modern hda chips, for reference see
linux-2.6/sound/pci/hda/hda_codec.c:hda_get_input_pin_label
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Tanu Kaskinen [Fri, 25 Feb 2011 14:28:10 +0000 (16:28 +0200)]
alsa-card: Add a new modarg "profile_set" for giving the card a custom profile set configuration file.
Tanu Kaskinen [Fri, 25 Feb 2011 14:27:27 +0000 (16:27 +0200)]
alsa-mixer: Fix path set building when using the element-output or element-input mapping options in profile set configuration.
When creating synthesized paths, pa_alsa_path_set_new() created duplicate
elements for each path, and one of the duplicate elements would be marked as
required absent. That made path probing fail. While debugging this, I noticed
also that pa_alsa_path_synthesize() didn't initialize p->last_element properly.
Colin Guthrie [Fri, 25 Feb 2011 10:27:23 +0000 (10:27 +0000)]
core: Add a new hook PA_CORE_HOOK_CARD_PROFILE_CHANGED
This will allow modules to know when a card profile has changed
and take appropriate action. This might prove useful when developing
UCM so that the appropriate verb can be set.
Kim Therkelsen [Fri, 15 Oct 2010 07:25:12 +0000 (09:25 +0200)]
core: Added new hooks: PA_CORE_HOOK_SOURCE_PORT_CHANGED and PA_CORE_HOOK_SINK_PORT_CHANGED
This allows modules to know when certain ports are changed.
This will allow e.g. a filter module (or LADSAP) to only load
when a certain port is used on the device (e.g. to only filter
headphones and not normal speakers).
(Comment from Colin Guthrie: This may also have use in UCM)
Kim Therkelsen [Fri, 15 Oct 2010 07:14:31 +0000 (09:14 +0200)]
Support for multichannel DSP processing in module-ladspa-sink
Colin Guthrie [Fri, 25 Feb 2011 09:24:07 +0000 (09:24 +0000)]
Merge remote-tracking branch 'mkbosmans/mingw32-build'
Edward Rudd [Tue, 22 Feb 2011 15:14:07 +0000 (10:14 -0500)]
sconv_sse: Exclude SSE optimizations for Mac OS X
At least on 32bit compiles, there are not enough registers.
Edward Rudd [Tue, 22 Feb 2011 16:04:19 +0000 (11:04 -0500)]
solaris: update call of pa_thread_new to new prototype
Edward Rudd [Tue, 22 Feb 2011 15:13:05 +0000 (10:13 -0500)]
coreaudio: Fix call to pa_thread_new
Tanu Kaskinen [Mon, 14 Feb 2011 11:41:06 +0000 (13:41 +0200)]
Allow read-only or non-existing sink input volume.
There are two known cases where read-only or non-existing sink input volume is
relevant: passthrough streams and the planned volume sharing logic.
Passthrough streams don't have volume at all, and the volume sharing logic
requires read-only sink input volume. This commit is primarily working towards
the volume sharing feature, but support for non-existing sink input volume is
also added, because it is so closely related to read-only volume.
Some unrelated refactoring in iface-stream.c creeped into this commit too (new
function: stream_to_string()).
Tanu Kaskinen [Tue, 22 Feb 2011 15:19:44 +0000 (17:19 +0200)]
dbusiface-stream: Send the Device property in the GetAll handler.
Tanu Kaskinen [Mon, 7 Feb 2011 16:35:51 +0000 (18:35 +0200)]
core: Link virtual sinks and sources to their streams.
This change doesn't add any functionality in itself, but it will be useful in
the future for operating on chains of sinks or sources that are piggy-backing
on each other.
For example, the PA_PROP_DEVICE_MASTER_DEVICE property could
be handled in the core so that each virtual device doesn't have to maintain it
separately. By using the origin_sink and destination_source pointers the core
is able to see at stream creation time that the stream is created by a virtual
device, and then update that device's property list using the name of the
master device that the stream is being connected to. The same thing can be done
also when the stream is being moved from a device to another, in which case the
_MASTER_DEVICE property needs updating.
Paul Menzel [Fri, 18 Feb 2011 22:27:20 +0000 (23:27 +0100)]
build-sys: Correct typos in configure
s/Console Kit/ConsoleKit/ [1]
s/DBUS/D-Bus/ [2]
Plus some spelling fixes and context in warning sometimes shown to user
[1] http://www.freedesktop.org/wiki/Software/ConsoleKit
[2] http://www.freedesktop.org/wiki/Software/dbus
Henning Heinold [Fri, 10 Jul 2009 10:33:30 +0000 (12:33 +0200)]
src/Makefile.am: add missing space to fix build using uClibc
Using uClibc
AM_LIBADD = $(PTHREAD_LIBS) $(INTLLIBS)
is not empty because `$(INTLLIBS)` is set to `-lintl`. This uncovered a missing space in commit
ef0cc745 which resulted in the following build error.
[…]
CC libbluetooth_ipc_la-ipc.lo
modules/bluetooth/ipc.c: In function 'bt_audio_service_open':
modules/bluetooth/ipc.c:65:26: warning: dereferencing type-punned pointer might break strict-aliasing rules [-Wstrict-aliasing]
modules/bluetooth/ipc.c: In function 'bt_audio_service_get_data_fd':
modules/bluetooth/ipc.c:110:13: warning: cast increases required alignment of target type [-Wcast-align]
modules/bluetooth/ipc.c:110:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
make[3]: *** No rule to make target `-lintl', needed by `libbluetooth-ipc.la'. Stop.
make[3]: Leaving directory `/oe/build-minimal-uclibc/minimal-uclibc-dev/work/armv7a-oe-linux-uclibceabi/pulseaudio-0.9.22-r11.0+gitr0+
051d82133f0ae6a57bf66fd200bc8e3591a7d5ca/git/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/oe/build-minimal-uclibc/minimal-uclibc-dev/work/armv7a-oe-linux-uclibceabi/pulseaudio-0.9.22-r11.0+gitr0+
051d82133f0ae6a57bf66fd200bc8e3591a7d5ca/git/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/oe/build-minimal-uclibc/minimal-uclibc-dev/work/armv7a-oe-linux-uclibceabi/pulseaudio-0.9.22-r11.0+gitr0+
051d82133f0ae6a57bf66fd200bc8e3591a7d5ca/git'
make: *** [all] Error 2
This patch is taken from OpenEmbedded where it has been present since 2009 for PulseAudio 0.9.15 and greater [1].
[1] http://git.0pointer.de/?p=pulseaudio.git;a=commit;h=
ef0cc74567b3bb98378c17f6a523bf18ba132ed7
[2] http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=
7c33f2e906a20e139d53b4f2d8fbc2773a4725b3
Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
CC: Henning Heinold <heinold@inf.fu-berlin.de>
Vincent Becker [Tue, 8 Feb 2011 10:24:08 +0000 (11:24 +0100)]
Correct wav file creation for 24/32 and 24 bits sample formats HSD=3669357
Kurt Taylor [Fri, 18 Feb 2011 14:30:03 +0000 (14:30 +0000)]
PulseAudio: added IT block to fix thumb conditional instruction build error messages
See: http://pulseaudio.org/ticket/914
Tweaked-By: Arun Raghavan <arun.raghavan@collabora.co.uk>
Maarten Bosmans [Wed, 5 Jan 2011 18:50:44 +0000 (19:50 +0100)]
Use pa_read, pa_write and pa_poll instead of system functions
Maarten Bosmans [Tue, 18 Jan 2011 10:28:53 +0000 (11:28 +0100)]
tests/rtstutter: Use pa_rtclock
Maarten Bosmans [Thu, 17 Feb 2011 10:50:10 +0000 (11:50 +0100)]
Use pa_* instead of generic functions to improve portability
Maarten Bosmans [Thu, 17 Feb 2011 10:28:54 +0000 (11:28 +0100)]
Give module-waveout a configure switch
- Also disable the scary DBus and udev warnings when building for win32
- and only install some dbus/x11 specific files when appropriate
Maarten Bosmans [Wed, 12 Jan 2011 14:02:18 +0000 (15:02 +0100)]
module-waveout: Adapted to updated API
Waveout sink works again, Wavein source still needs some work.
Maarten Bosmans [Tue, 18 Jan 2011 10:28:13 +0000 (11:28 +0100)]
win32: Implement pa_random
Maarten Bosmans [Tue, 18 Jan 2011 10:26:57 +0000 (11:26 +0100)]
win32: Implement rtclock based on QueryPerformanceCounter
Also remove some unnecessary <time.h> headers.
Maarten Bosmans [Mon, 17 Jan 2011 12:17:48 +0000 (13:17 +0100)]
win32: flush stderr after log output
Maarten Bosmans [Thu, 6 Jan 2011 01:10:45 +0000 (02:10 +0100)]
Implement some functions for win32
And disable building binaries for win32 that make no sense there
Maarten Bosmans [Tue, 4 Jan 2011 16:12:09 +0000 (17:12 +0100)]
Repair some typos
Maarten Bosmans [Thu, 6 Jan 2011 00:39:29 +0000 (01:39 +0100)]
Add AM_LDFLAGS more consistently to all commands
Maarten Bosmans [Thu, 6 Jan 2011 00:35:27 +0000 (01:35 +0100)]
Fix dependencies and include necessary headers
Maarten Bosmans [Tue, 4 Jan 2011 15:48:06 +0000 (16:48 +0100)]
Use PCRE if POSIX regex.h is not available
Maarten Bosmans [Wed, 5 Jan 2011 23:51:33 +0000 (00:51 +0100)]
Apply #ifdefs around functionality not available on win32
And also the reverse: around some win32 specific functionality
Maarten Bosmans [Tue, 4 Jan 2011 16:07:50 +0000 (17:07 +0100)]
Adapt win32 specific code to current API
Maarten Bosmans [Tue, 4 Jan 2011 16:03:13 +0000 (17:03 +0100)]
Use <pulsecore/socket.h> instead of <sys/socket.h>
The check whether POSIX socket.h or WIN32 winsock2.h must be included can be
made centrally. The downside is that some functionality of e.g. arpa/inet.h is
also implemented in winsock.h, so that some files that don't use socket
functions, but do use inet.h functions, must also include pulsecore/socket.h.
(as well as arpa/inet.h)
Maarten Bosmans [Tue, 4 Jan 2011 10:17:53 +0000 (11:17 +0100)]
Clean up <poll.h> includes
Instead <pulsecore/poll.h> should be included. That file includes poll.h on
platform where it is appropriate. Also remove some unnecessary <ioctl.h>
includes.
Maarten Bosmans [Wed, 12 Jan 2011 07:15:44 +0000 (08:15 +0100)]
Use setenv instead of putenv
In theory putenv could be used to handle freeing of strings yourself, but this
was not done in PulseAudio. That leaves no advantages in using putenv. With
setenv you're at the mercy of the implementation whether the strings leak, but
at least that is better then a certain leak, as it was before.
Pierre-Louis Bossart [Mon, 31 Jan 2011 19:20:27 +0000 (13:20 -0600)]
alsa: disable period wakeups in tsched mode if possible
This patch reflects a new capability that Lennart was wishing
for. Wish granted...
Re-submitting it now that alsa-lib 1.0.24
provides additional entry points to disable period
wakeups in timer-scheduling mode if hardware can
work without it (HDAudio, oxygen and Intel SST).
Example with standard playback on HDAudio output
Before change:
Top causes for wakeups:
3.8% ( 5.4) [hda_intel] <interrupt>
2.8% ( 4.0) alsa-sink
After change:
Top causes for wakeups:
2.3% ( 3.0) alsa-sink
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
Arun Raghavan [Mon, 25 Oct 2010 08:00:06 +0000 (09:00 +0100)]
echo-cancel: Make Orc file names less silly
The naming was what it was because of the way orc.mak was originally
written. This has changed now.
Arun Raghavan [Tue, 19 Oct 2010 04:29:45 +0000 (09:59 +0530)]
build: Simplify Orc-related make rules
This greatly simplifies the Orc-related make rules. The old system of
distributing generated files is gone, which means that anyone who wants
to build with Orc support enabled needs to have the orcc compiler
installed (presumably the orc 'devel' package in most distros).
Arun Raghavan [Sun, 17 Oct 2010 02:55:27 +0000 (08:25 +0530)]
build: Move orc.mak out of build/
That directory is commonly used by developers for out-of-tree builds, so
don't keep the Makefile in there.
Maarten Bosmans [Tue, 25 Jan 2011 10:57:30 +0000 (11:57 +0100)]
build: Remove unnecessary flags in AM_CFLAGS
The CFLAGS and LIBS of libsamplerate, libspeex and libsndfile are added to the pulse libraries depending on those libraries.
Also src/pulse/version.h is generated by configure, so it does not need to go in BUILT_SOURCES.
(Slightly tweaked by Colin Guthrie to fix a merge problem relating to BUILT_SOURCES)
Maarten Bosmans [Wed, 19 Jan 2011 12:35:38 +0000 (13:35 +0100)]
build: Don't include empty Makefile.am in subdirs
Maarten Bosmans [Tue, 25 Jan 2011 10:01:46 +0000 (11:01 +0100)]
build: Generate module symdefs in src/modules directory
This will make it possible to remove the empty Makefile.am files.
- module-...-symdef.h files are all generated in src/modules, instead of in the subdir of the module.
- The default inclusion of src/modules subdirs in AM_CFLAGS can be removed, where necessary (raop) the subdir is
included in the specific CFLAGS.
- The src/daemon and src/modules directories are always created on make, to facilitate out of tree builds.
- AM silent rules are used for the generation of symdef files by m4.
- For echo-cancel, keep the build dir include for now (and mkdir it) although limit it to just the echo-cancel
module's CFLAGS (Colin Guthrie)
Colin Guthrie [Mon, 31 Jan 2011 11:45:50 +0000 (11:45 +0000)]
Merge remote branch 'mkbosmans/rate-adjustment'
David Henningsson [Thu, 9 Dec 2010 10:08:37 +0000 (11:08 +0100)]
Fighting rewinds: Reduce calls to handle_seek
If many small blocks are in queue, handle_seek is being called
for every one of them, sometimes causing a rewind. Delay the
call until all blocks are handled, then call handle_seek only
once.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
David Henningsson [Mon, 6 Dec 2010 15:25:25 +0000 (16:25 +0100)]
Fighting rewinds: Seek and write data in the same message
Allow a message in the queue to perform both a seek and a post data.
For clients that do not use PA_SEEK_RELATIVE (e g gstreamer), this
cuts the message count - and sometimes even the rewinds - in half.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Lennart Poettering [Sat, 22 Jan 2011 00:08:36 +0000 (01:08 +0100)]
ratelimit: fix log levels of log suppression messages
When logging a suppression message do so on the same log level as the
suppressed messages.
Cherry picked by Colin Guthrie from
ec5a7857127a1b3b9c5517c4a70a9b2c8aab35ca
with a couple of additional changes due to extra limiting in master
that was not present in stable-queue.
Scott Reeves [Thu, 20 Jan 2011 23:41:21 +0000 (16:41 -0700)]
Core: Fix incorrect check of return value
Maarten Bosmans [Thu, 20 Jan 2011 11:53:38 +0000 (12:53 +0100)]
build: Use MODULE_LIBADD in Makefile.am
Colin Guthrie [Mon, 17 Jan 2011 22:19:10 +0000 (22:19 +0000)]
Colin Guthrie [Sun, 16 Jan 2011 14:34:11 +0000 (14:34 +0000)]
tunnel: Fix automatic names when source/sink_name argument is missing.
Spotted by palmerdabbelt via #894
Maarten Bosmans [Wed, 12 Jan 2011 06:34:28 +0000 (07:34 +0100)]
module-rtp-recv: Request proper rewind after underrun
Maarten Bosmans [Wed, 12 Jan 2011 06:31:26 +0000 (07:31 +0100)]
module-rtp-recv: Remove smoother from write index
It isn't necessary anymore with the new algorithm. The slow adjust of the
smoother was even detrimental to the accuracy of the rate estimate.
Maarten Bosmans [Sun, 16 Jan 2011 00:27:29 +0000 (01:27 +0100)]
module-rtp-recv: Average the estimated real sample rate
Maarten Bosmans [Wed, 12 Jan 2011 06:24:58 +0000 (07:24 +0100)]
module-rtp-recv: Use new algorithm for adjusting sample rate
Maarten Bosmans [Fri, 7 Jan 2011 00:25:55 +0000 (01:25 +0100)]
Limit rate adjustments to small, inaudible jumps
The same logic is applied to the sample rate adjustments in module-rtp-recv,
module-loopback and module-combine:
- Each time an adjustment is made, the new rate can differ at most 2‰ from the
old rate. Such a step is equal to 3.5 cents (a cent is 1/100th of a
semitone) and as 5 cents is generally considered the smallest observable
difference in pitch, this results in inaudible adjustments.
- The sample rate of the stream can only differ from the rate of the
corresponding sink by 25%. As these adjustments are meant to account for
very small clock drifts, any large deviation from the base rate suggests
something is seriously wrong.
- If the calculated rate is within 20Hz of the base rate, set it to the base
rate. This saves CPU because no resampling is necessary.
Maarten Bosmans [Sun, 16 Jan 2011 00:42:20 +0000 (01:42 +0100)]
module-loopback: Add adjust_time to valid args
Arun Raghavan [Tue, 11 Jan 2011 18:28:25 +0000 (23:58 +0530)]
client: Don't update smoother while corked
This prevents the smoother attached to the stream clock from being
updated while the stream is corked, which in turn ensures that once
corking is completed, pa_stream_get_time() always returns the same value
until the stream is uncorked - i.e., the clock does not advance when the
client believes that it will not.
The actual call to pa_smoother_put() happens on things like stream
suspend/unsuspend, which trigger timing updates. This changes the
smoother coefficients, which means that a call to pa_smoother_get() for
the same value of 'x' can return different values before and after a
timing update.
Jyri Sarha [Thu, 13 Jan 2011 14:44:45 +0000 (16:44 +0200)]
alsa-sink: Don't assume we were able to enable hw-volume or sync-volume (v1.1)
This patch also disables mixer callback code if we do not have neither
HW-volume or HW-mute.
Jyri Sarha [Thu, 13 Jan 2011 14:44:44 +0000 (16:44 +0200)]
alsa-sink: Fix double use of string
Jyri Sarha [Thu, 13 Jan 2011 14:44:43 +0000 (16:44 +0200)]
core: Use pa_sink_get_latency_within_thread() in sync-volume code
Jyri Sarha [Thu, 13 Jan 2011 14:44:42 +0000 (16:44 +0200)]
core: Use volume_change_safety_margin when rewinding sync-volume events
After this patch the volume changes are applied immediately after
sink rewind before processing streams and monitor source.
Jyri Sarha [Thu, 13 Jan 2011 14:44:41 +0000 (16:44 +0200)]
core: Change sematics of pa_flist_new_with_name() (v1.1)
Name string is copied and added to flist structure. The original is
responsibility of the caller. The name is only used for debug printing.
Colin Guthrie [Tue, 11 Jan 2011 11:26:48 +0000 (11:26 +0000)]
build-sys: Make --disable-dbus actually work.
Previously this argument passed to configure only worked if --disable-hal and
--disable-bluez was also passed which wasn't immediately obvious to the
untrained compiler.
This change simply makes --disable-dbus disable the other two as well
and errors out of specific, incompatible --enable/--disable flags
are provided.
The summary table is also adjusted and intended to try and show the
dependency relationship a little.
Colin Guthrie [Tue, 11 Jan 2011 10:28:02 +0000 (10:28 +0000)]
build-sys: Put in specific warnings when there is no udev or DBUS support
Users have often come to me when their build doesn't work and typically
this is when they do not have dev headers for DBUS and udev installed
when building. Put in some specific warnings about these optional,
but critical, elements.
This will likely display this message on platforms where they are not
available, so patches welcome to hide them in a semi-intelligent way.
Colin Guthrie [Tue, 11 Jan 2011 10:09:42 +0000 (10:09 +0000)]
console-kit: Console Kit support is dependent on DBUS and is thus optional.
Therefore, we must reflect this in the default.pa. Several users
have reported an error with consolekit when starting a self-built PA
due to the default config not working properly. This works around the
issue but we should include a warning on configure about the lack of
DBUS and udev support as this is a common mistake.
Michal Schmidt [Sat, 8 Jan 2011 15:25:15 +0000 (16:25 +0100)]
padsp: wrap __open_2 and __open64_2
These functions are used in OSS programs where the "flags" parameter for
open() is not a build-time constant and the build has _FORTIFY_SOURCE
enabled.
Cai Yuanqing [Thu, 23 Dec 2010 11:25:36 +0000 (19:25 +0800)]
loopback: Add new arguments to disable stream move
The arguments sink_dont_move and source_dont_move have been added to toggle
module automatic unloading when the sink or source were no longer
available, rather than just moving them to the next available
sink/source (via rescue streams).
Reviewed and tweaked by Colin Guthrie.
Colin Guthrie [Mon, 3 Jan 2011 09:22:33 +0000 (09:22 +0000)]
Revert "core: make use of dbus_message_iter_append_fixed_array"
This causes problems as outlined in ticket #887.
This reverts commit
f564c7d76371380980faa10ee3c756c3130c60bf.
Luiz Augusto von Dentz [Thu, 23 Dec 2010 11:13:28 +0000 (13:13 +0200)]
bluetooth: detect when bitpool has changed on sbc codec
A2DP spec allow bitpool changes midstream which is why sbc configuration
has a range of values for bitpool that the encoder can use and decoder
must support.
Bitpool changes do not affect the state of encoder/decoder so they don't
need to be reinitialize when this happens, so the impact is fairly small,
what it does change is the frame length so encoders may change the
bitpool to use the link more efficiently.
Luiz Augusto von Dentz [Mon, 8 Nov 2010 12:37:37 +0000 (14:37 +0200)]
bluetooth: fix build for libdbus < 1.3
Luiz Augusto von Dentz [Wed, 3 Nov 2010 12:44:28 +0000 (14:44 +0200)]
bluetooth: fix case of profile UUIDs to match what BlueZ uses
Cai Yuanqing [Tue, 21 Dec 2010 05:59:06 +0000 (13:59 +0800)]
coreaudio: Make coreaudio-detect safer by adding asserts before dereferencing
Chen Rui [Mon, 20 Dec 2010 01:42:17 +0000 (09:42 +0800)]
fix bug about get source-output status
Zhang Wanming [Mon, 20 Dec 2010 09:20:57 +0000 (17:20 +0800)]
Fix typos
Daniel T Chen [Sun, 19 Dec 2010 12:51:21 +0000 (07:51 -0500)]
Further clarify src- and speex- references in pulse-daemon.conf
Based on comments from Arun Raghavan, make clear that we're referring
to the libspeex API documentation for the speex- options. Also correct
the quality range (was incorrectly 0..9 but is 0..10 now) and clean up
the line length.
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Vincent Becker [Tue, 14 Dec 2010 17:08:14 +0000 (18:08 +0100)]
Fix return value of pa_sndfile_format_from_string
This prevented to use pacat --file-format option correctly
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.
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>
Maarten Lankhorst [Sat, 11 Dec 2010 11:05:30 +0000 (12:05 +0100)]
module-loopback: Prevent an infinite loop when rate adjusting is disabled
Maarten Lankhorst [Fri, 10 Dec 2010 19:34:05 +0000 (20:34 +0100)]
bluetooth: Fix a2dp processing
Colin Guthrie [Mon, 6 Dec 2010 15:45:22 +0000 (15:45 +0000)]
volume: Trivial cosmetics (remove a space)
David Henningsson [Tue, 30 Nov 2010 03:59:27 +0000 (04:59 +0100)]
jack: Add module-jackdbus-detect
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.
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.
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.
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.
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.
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.
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
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.
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.
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>