Daniel Mack [Thu, 8 Oct 2009 06:19:47 +0000 (14:19 +0800)]
Merge branch 'master' of git://0pointer.de/pulseaudio
Diego Elio 'Flameeyes' Pettenò [Wed, 7 Oct 2009 17:31:11 +0000 (19:31 +0200)]
Fix build when using -fweb, accept both register and memory constraints.
This was reported as Gentoo bug #287391 by Torsten Kaiser, and the fix was
suggested by Mike Frysinger.
Diego Elio 'Flameeyes' Pettenò [Wed, 7 Oct 2009 17:30:11 +0000 (19:30 +0200)]
Add check for FFTW, and add option to disable it at build-time.
This way there will be a message at configure if FFTW is not found, and
this gets in-line with the rest of the modules' dependencies.
Diego Elio 'Flameeyes' Pettenò [Wed, 7 Oct 2009 17:29:33 +0000 (19:29 +0200)]
Fix out-of-tree builds when dbus module is enabled.
Lennart Poettering [Wed, 7 Oct 2009 01:46:06 +0000 (03:46 +0200)]
Merge remote branch 'coling/history'
Lennart Poettering [Wed, 7 Oct 2009 01:43:24 +0000 (03:43 +0200)]
Merge remote branch 'phish3/master'
Lennart Poettering [Wed, 7 Oct 2009 01:39:30 +0000 (03:39 +0200)]
Merge remote branch 'tanuk/dbus-work'
Lennart Poettering [Tue, 6 Oct 2009 21:34:22 +0000 (23:34 +0200)]
position-event-sounds: never position test sounds in space
Lennart Poettering [Mon, 5 Oct 2009 22:17:24 +0000 (00:17 +0200)]
alsa: disable period event only with tsched=1
Tor-Björn Claesson [Fri, 2 Oct 2009 12:13:59 +0000 (14:13 +0200)]
loopback: Setting latency of module-loopback
I checked the source code, and latency_msec is missing from the list
of valid module arguments. Attaching a patch to add it.
Lennart Poettering [Sun, 4 Oct 2009 11:00:51 +0000 (13:00 +0200)]
bluetooth: don't set auto_connect flag when discovering bt devices
Colin Guthrie [Fri, 2 Oct 2009 21:44:56 +0000 (22:44 +0100)]
device-manager: Play nice with module-stream-restore.
If m-s-r sets the device we let it do so. Otherwise we handle the routing. We run before
module-intended-roles as the priority list will likely be configured appropriately
to do the same job, albeit with manual setup.
Colin Guthrie [Fri, 2 Oct 2009 20:04:03 +0000 (21:04 +0100)]
device-manager: Make use of PA_IDXSET_FOREACH when applying entries.
Colin Guthrie [Fri, 2 Oct 2009 20:01:19 +0000 (21:01 +0100)]
device-manager: Keep track as to whether or not the user specifically renamed the device.
If the user has not (via our protocol extension) renamed a device, but it happens to now have
a different name (e.g. module-combine automatically updating the description for us or udev-db
getting better etc.) then make sure we update our cache with this updated version.
If the user has set a name, enforce it's use, even if the description is updated by some other
means (e.g. the user manually editing the proplist or another module doing it for them).
Colin Guthrie [Fri, 2 Oct 2009 18:12:10 +0000 (19:12 +0100)]
device-manager: No need to check the version after calling read_entry()
Tanu Kaskinen [Fri, 2 Oct 2009 14:24:44 +0000 (17:24 +0300)]
Merge branch 'master' into dbus-work
Conflicts:
src/daemon/daemon-conf.c
Jason Newton [Sat, 19 Sep 2009 18:15:05 +0000 (11:15 -0700)]
module-equalizer-sink: disable active profile name restoration as something in pack/unpack is funky and I don't have time for a
proper fix
Jason Newton [Fri, 18 Sep 2009 12:48:01 +0000 (05:48 -0700)]
module-equalizer-sink: *added client initiated sync support for filter state *added note of possible unstable behavior with next-power-of-2 sample rate calculation
Jason Newton [Wed, 26 Aug 2009 08:15:49 +0000 (01:15 -0700)]
module-equalizer-sink: resyncing with head and fix invalid writes
* pa_log->debug for default equalizer notification
* partially fixed infinite rewind bug
* set max_request to window_size first iteration
* swap order inside ROUND_UP calls
* resync pa_sink_input_new changes
* change pa_sample_clamp parameters to be correct to fix invalid writes
* reenable proper reset logic + proper request size
Colin Guthrie [Thu, 1 Oct 2009 23:49:50 +0000 (00:49 +0100)]
device-manager: Fix typo in module loading script.
Colin Guthrie [Thu, 1 Oct 2009 21:33:22 +0000 (22:33 +0100)]
device-manager: Add some scripts that are only run under KDE to load/initialise module-device-manager with routing turned on.
Colin Guthrie [Thu, 1 Oct 2009 21:12:16 +0000 (22:12 +0100)]
device-manager: Misc fixes to co-exist with other stream management/routing modules.
* Do not read or set the save_sink/save_source flags. This seems to be for module-stream-restore only...
* Even if a sink is already set by an earlier module, still move it to the sink we dictate.
Colin Guthrie [Thu, 1 Oct 2009 20:30:24 +0000 (21:30 +0100)]
device-manager: Misc fixes.
* Fix a s/sink/source/ copy paste issue when dumping the database.
* Only show priority list when routing is enabled (as the list is not updated if not)
* Fix a memory access issue when finding the highest priority sinks/sources
* key name->device name efficiency fix.
* Silence noisy debug on reorder - it seems to work :)
* Reroute after reordering.
* Initialise preferred lists to PA_INVALID_INDEX
Colin Guthrie [Thu, 1 Oct 2009 19:13:38 +0000 (20:13 +0100)]
device-manager: Fix the writing of the database when priority doesn't change.
Colin Guthrie [Thu, 1 Oct 2009 08:07:42 +0000 (09:07 +0100)]
device-manager: Add extra debug messages
Colin Guthrie [Thu, 1 Oct 2009 00:27:02 +0000 (01:27 +0100)]
device-manager: Change the prefer/defer options to a single 'reorder' command.
We put in the devices from the wire into a hashmap and then add all like type device in the database
and then order them based on priority (with the ones specified on the wire always being in that order at
the top of the list.
Colin Guthrie [Sun, 27 Sep 2009 15:55:31 +0000 (16:55 +0100)]
device-manager: Don't notify clients on every subscription (it happens all the time).
Also compare the entries fully before saving.
Colin Guthrie [Sun, 27 Sep 2009 02:11:44 +0000 (03:11 +0100)]
device-manager: Save icon and report current availability over protocol.
This also ensures we let clients know whenver a sink changes in some capacity.
Also correct some debug code.
Colin Guthrie [Sat, 26 Sep 2009 13:36:36 +0000 (14:36 +0100)]
device-manager: Expose the priority lists in the protocol extension.
Also leave space for 'icon' and 'available' details too, althought currently this info is dummy.
Colin Guthrie [Mon, 21 Sep 2009 17:50:00 +0000 (18:50 +0100)]
device-manager: Add a function to dump the database which we do whenever we save it (and on startup)
Colin Guthrie [Sun, 20 Sep 2009 20:19:41 +0000 (21:19 +0100)]
device-manager: Reroute streams when they change allowing the media.role to be updated mid-stream.
We do not handle the _EVENT_NEW subscription here as the PA_CORE_HOOK_SINK_INPUT_NEW/PA_CORE_HOOK_SOURCE_OUTPUT_NEW
hook should handle the initial routing.
Colin Guthrie [Sun, 20 Sep 2009 19:57:34 +0000 (20:57 +0100)]
device-manager: Refactor the routing method to allow the routing of a single stream
Colin Guthrie [Sun, 20 Sep 2009 19:50:23 +0000 (20:50 +0100)]
device-manager: More sensible names for internal functions
Colin Guthrie [Sun, 20 Sep 2009 19:48:58 +0000 (20:48 +0100)]
device-manager: Reroute the streams on startup and update our cache on enable.
Colin Guthrie [Sun, 20 Sep 2009 19:34:52 +0000 (20:34 +0100)]
device-manager: Keep a cache of the highest priority devices for each role.
Rather than querying our database on every new stream, we keep a cache and only update it when a sink/source is added/removed.
Colin Guthrie [Sun, 20 Sep 2009 18:30:31 +0000 (19:30 +0100)]
device-manager: Fix the database write mode
Colin Guthrie [Sun, 20 Sep 2009 18:18:22 +0000 (19:18 +0100)]
device-manager: Update exports
Colin Guthrie [Sun, 20 Sep 2009 17:39:50 +0000 (18:39 +0100)]
device-manager: Some efficiency and safety tweaks
Colin Guthrie [Sun, 20 Sep 2009 17:31:10 +0000 (18:31 +0100)]
device-manager: Allow the routing component to be turned on via a module argument as well as via protocol extn.
Colin Guthrie [Sun, 20 Sep 2009 17:24:51 +0000 (18:24 +0100)]
device-manager: Remove unused variables
Colin Guthrie [Sun, 20 Sep 2009 17:23:52 +0000 (18:23 +0100)]
device-manager: Set the most appropriate sink/source when new streams are created
Colin Guthrie [Sun, 20 Sep 2009 17:08:40 +0000 (18:08 +0100)]
device-manager: Add routing functions that are triggered when sinks/soruces are added/removed.
Colin Guthrie [Sun, 20 Sep 2009 16:34:17 +0000 (17:34 +0100)]
device-manager: Add a function to get a list of the highest priority device indexes for each role.
Colin Guthrie [Sun, 20 Sep 2009 16:33:18 +0000 (17:33 +0100)]
device-manager: Remove unneeded logic for checking for and (un)loading module-stream-restore. We can co-exist
Colin Guthrie [Sun, 20 Sep 2009 16:29:38 +0000 (17:29 +0100)]
device-manager: Rough framework (slots etc.) for handling routing.
This is incomplete, it just adds the slots in question and assigns noops to them.
Some minor cleanup of types.
Due to the priority of the hooks, it seems we can actually coexist with module-stream restore so
the code to detect and unload it will be removed shortly.
Colin Guthrie [Sun, 20 Sep 2009 13:43:53 +0000 (14:43 +0100)]
device-manager: debug and comments
Colin Guthrie [Sun, 20 Sep 2009 13:39:41 +0000 (14:39 +0100)]
device-manager: Fix the freeing of the datum on prefer/defer.
Also fix a log typo
Colin Guthrie [Sun, 20 Sep 2009 13:36:20 +0000 (14:36 +0100)]
device-manager: When a new device is encountered, initialise the priority list to an appropriate value
Colin Guthrie [Sun, 20 Sep 2009 12:57:10 +0000 (13:57 +0100)]
device-manager: Let subscribed clients know when something changes.
Colin Guthrie [Sun, 20 Sep 2009 11:44:02 +0000 (12:44 +0100)]
device-manager: Change the write function to a rename function.
The structure itself will contain various bits of info so exposing this fully to the client is a bad idea.
By keeping to a rename operation we keep what we do store abstracted from the clients.
Also fix some doxy comments.
Colin Guthrie [Sat, 19 Sep 2009 16:48:10 +0000 (17:48 +0100)]
device-manager: Provide a method for prefering/defering a device.
This allows clients to edit the priroity order. What is not yet in place is the initialisation of that priority list
when new devices are detected or the cleaning (remove holes) when devices are removed.
In order to keep the storage transparent I will likely remove the write functionality and replace it with a
simple rename method.
I also still need to expose the priority itself when reading the data.
Colin Guthrie [Sat, 19 Sep 2009 15:46:18 +0000 (16:46 +0100)]
device-manager: Fix copy+paste code that looped over the tagstruct when not necessary
Colin Guthrie [Sat, 19 Sep 2009 15:13:25 +0000 (16:13 +0100)]
device-manager: Provide a way for clients to enable/disable role-based device-priority routing.
The routing logic itself does not yet exist, but the command currently will unload/load module-stream-restore as approriate.
(module-stream-restore would conflict with the role-based priority-routing).
Colin Guthrie [Sat, 19 Sep 2009 14:32:13 +0000 (15:32 +0100)]
device-manager: Update docs version -> 0.9.19 (predicted)
Colin Guthrie [Sun, 5 Jul 2009 18:40:06 +0000 (19:40 +0100)]
device-manager: Fix copy+paste leftover
Colin Guthrie [Mon, 29 Jun 2009 19:10:04 +0000 (20:10 +0100)]
device-manager: Only store and save details for non-monitor sources
Colin Guthrie [Mon, 29 Jun 2009 18:55:34 +0000 (19:55 +0100)]
stream-restore: Preventative initialistion to NULL
There is not technically a bug here due to the early return and the knowledge that one of the if blocks
will definitely be run, but this makes sure we don't call free on uninitialised data or do
anything else suitibly daft. Also helps when you copy the code and change it slightly and don't realise
you've left things open...
Colin Guthrie [Sun, 28 Jun 2009 14:33:38 +0000 (15:33 +0100)]
device-restore: Fix the application of an entry to allow changing the name of devices.
This fixes a few bugs in the copy+pasted implementation of apply_entry()/get_name().
Colin Guthrie [Sun, 28 Jun 2009 13:40:00 +0000 (14:40 +0100)]
device-manager: Fix tagstruct description extraction (copy+paste blunder)
Colin Guthrie [Sun, 28 Jun 2009 12:21:43 +0000 (13:21 +0100)]
device-manager: Link native protocol library.
Colin Guthrie [Sun, 28 Jun 2009 12:08:17 +0000 (13:08 +0100)]
device-manager: Export device-manager extension functions
Colin Guthrie [Sat, 27 Jun 2009 21:09:00 +0000 (22:09 +0100)]
device-manager: Fix indentation
Colin Guthrie [Sat, 27 Jun 2009 21:08:07 +0000 (22:08 +0100)]
device-manager: Add an untested protocol extension.
This is effectively copied from the stream restore extension.
Colin Guthrie [Sat, 27 Jun 2009 20:03:37 +0000 (21:03 +0100)]
device-manager: Add a new module to keep track of the names and descriptions of various sinks.
This will be used as the basis for a queryable system for past and present devices, initially for use in KDE.
Currently all this module does is save lists of sinks/sources and their descriptions, so it needs to
gain a protocol extension to make this queryable.
As things stand it will save the device descriptions of all sinks and restore them if they differ from whats on record.
Jason Newton [Sun, 23 Aug 2009 22:49:27 +0000 (15:49 -0700)]
module-equalizer-sink: resync with ladspa parent sink
Jason Newton [Fri, 21 Aug 2009 06:55:02 +0000 (23:55 -0700)]
module-equalizer-sink: fix improper usage of pa_modargs_get_value_boolean for u->set_default
Jason Newton [Fri, 21 Aug 2009 01:24:19 +0000 (18:24 -0700)]
module-equalizer-sink: added server side persistance of profile names
Jason Newton [Thu, 20 Aug 2009 06:22:33 +0000 (23:22 -0700)]
module-equalizer-sink: per-channel filtering support + profiles, easier default configuration
Jason Newton [Wed, 19 Aug 2009 07:30:07 +0000 (00:30 -0700)]
module-equalizer-sink: fixed a bug w/ new zero-latency input scheme (that was an interesting/cool bug!)
Jason Newton [Wed, 19 Aug 2009 05:11:37 +0000 (22:11 -0700)]
module-equalizer-sink: added support for preamp
Jason Newton [Mon, 17 Aug 2009 17:52:43 +0000 (10:52 -0700)]
module-equalizer-sink: drop old macros for new library based ones
Jason Newton [Sun, 16 Aug 2009 23:14:30 +0000 (16:14 -0700)]
module-equalizer-sink: fixed timeval initialization
Jason Newton [Sun, 16 Aug 2009 22:41:40 +0000 (15:41 -0700)]
module-equalizer-sink.c: swapped order of attach_within_thread and set_max_request within sink_input_attach_cb
Jason Newton [Sun, 16 Aug 2009 21:29:21 +0000 (14:29 -0700)]
module-equalizer-sink.c
i->sink -> i in pa_get_sink_max_request*
Jason Newton [Sun, 16 Aug 2009 18:38:12 +0000 (11:38 -0700)]
module-equalizer-sink
exchanged improper usage of memblockq_peek'd memchunk for silence block
dropped unneeded function prototypes
changed mround to be slightly more elegant
__restrict__ -> restrict for c99
removed unneeded pa_aupdate_swap calls
first_iteration -> pa_bool_t
cleaned up some usage of pa_malloc0 where pa_new0 was more appropriate
cruft removal, whitespace fixes and reordering of variables
Jason Newton [Sat, 15 Aug 2009 13:17:40 +0000 (06:17 -0700)]
module-equalizer-sink:
merging in upstream changes
whitespace fix and fix for first iteration un-windowing
Jason Newton [Sat, 15 Aug 2009 12:22:29 +0000 (05:22 -0700)]
module-equalizer-sink:
reworked processing so we don't have input->output delay of R samples
Jason Newton [Tue, 11 Aug 2009 10:00:28 +0000 (03:00 -0700)]
module-equalizer-sink:
fix for peek returning a null memblock
pa_log -> pa_log_debug for fft size
updated module description
fixed a comment in dbus error for incorrect x positions
Jason Newton [Mon, 10 Aug 2009 22:33:55 +0000 (15:33 -0700)]
module-equalizer-sink:
proper fix for pa_xmalloc(0) given that 0 is illegal
fix coefficients in case there's no resume state
loadprofile now signals filterchanged
Jason Newton [Sun, 9 Aug 2009 05:20:05 +0000 (22:20 -0700)]
module-equalizer-sink:
dbus:
eliminated some redundant code in dbus handlers/getall
switched filter back to being a property
signals for changed profiles, added/removed sinks, filter updates and sink reconfigurations
fixed timing routines
Jason Newton [Sat, 8 Aug 2009 07:53:40 +0000 (00:53 -0700)]
module-equalizer-sink: reverted buffering logic back to how the ladspa sink did it
Jason Newton [Fri, 7 Aug 2009 22:08:57 +0000 (15:08 -0700)]
module-equalizer-sink:
add lennard's fix for piggy-back sinks in pop_cb
fixed some tsched issues
Jason Newton [Wed, 5 Aug 2009 07:52:16 +0000 (00:52 -0700)]
module-equalizer-sink:
dbus properties and manager so that multiple sinks can be loaded and mixers can be equalizer-sink aware
functionality to seed new filters quickly (rteq guis)
profile support
extra checking in client->server dbus messages
Jason Newton [Sun, 2 Aug 2009 03:23:49 +0000 (20:23 -0700)]
module-equalizer-sink:
added support for suspend/resume of filter coefficients
unregister the correct dbus interface.
made equalizer state file sink index dependent
expanded dbus properties
whitespace
Jason Newton [Sat, 1 Aug 2009 01:10:11 +0000 (18:10 -0700)]
module-equalizer-sink:
added dbus support
removed cruft from inherited from ladspa module and improved clarity
switched dsp processing to reference implementation until project is more mature
tsched=0 seems to help with the micro-dropouts/crackling! oh my!
reformatting/spaces
Jason Newton [Mon, 27 Jul 2009 08:22:26 +0000 (01:22 -0700)]
module-equalizer-sink:
removed liboil
added sse2 optimized dsp logic implementation
cleaned up a bit
Jason Newton [Thu, 23 Jul 2009 10:26:35 +0000 (03:26 -0700)]
module-equalizer-sink:
first commit of a working state (cpu speed dependant)
added noop processing for filter debugability
Jason Newton [Tue, 21 Jul 2009 10:24:57 +0000 (03:24 -0700)]
module-equalizer-sink: simplified sink_input pop callback and introduced new variables that simplify different strategies.
Jason Newton [Sat, 18 Jul 2009 08:00:35 +0000 (01:00 -0700)]
module-equalizer-sink: trying new buffering strategies
Jason Newton [Fri, 17 Jul 2009 05:00:38 +0000 (22:00 -0700)]
module-equalizer-sink: attempt different buffering strategy
Jason Newton [Fri, 17 Jul 2009 01:18:14 +0000 (18:18 -0700)]
module-equalizer-sink: added more assertions to aid in debugging
Jason Newton [Wed, 15 Jul 2009 13:57:33 +0000 (06:57 -0700)]
module-equalizer-sink:
added temporary debugging output to track filter output
removed dead code
only a small amount of crackling remains
Jason Newton [Mon, 22 Jun 2009 07:36:14 +0000 (00:36 -0700)]
module-equalizer-sink added
src/Makefile.am: added module-equalizer-sink
Lennart Poettering [Wed, 30 Sep 2009 01:04:12 +0000 (03:04 +0200)]
build-sys: bump soname
Lennart Poettering [Wed, 30 Sep 2009 00:43:55 +0000 (02:43 +0200)]
i18n: run make update-po
Lennart Poettering [Tue, 29 Sep 2009 21:48:37 +0000 (23:48 +0200)]
i18n: ad more .c files to POTFILES.in
Lennart Poettering [Tue, 29 Sep 2009 21:47:49 +0000 (23:47 +0200)]
polkit: drop left-over polkit policy file from git tree
Nix [Sat, 26 Sep 2009 19:18:00 +0000 (20:18 +0100)]
Don't refuse to start on systems using GNU stow, graft, STORE et al
There are multiple package management systems out there which implement
packages using symlinks. The recent (otherwise useful) check to ensure that
a re-executed pulseaudio is actually reexecuting itself unfortunately breaks
in the presence of all these packaging systems, because PA_BINARY refers
to its installed location (e.g. /usr/local/bin/pulseaudio), which is a
symlink to the binary (e.g. /usr/local/stow/pulseaudio-0.9.18/bin/pulseaudio),
because /proc/self/exe always contains the canonical path of the executable,
with all symlinks resolved.
(At least one distribution uses a symlink-based packaging system, so
will be forced to apply this locally in any case.)
The fix is simple: canonicalize PA_BINARY before equality-testing. (This
should be completely safe, because the OS does just that when PA_BINARY
is executed.)
The patch is against 0.9.18, but applies without fuzz to current master.
Lennart Poettering [Tue, 29 Sep 2009 17:27:02 +0000 (19:27 +0200)]
i18n: run make update-po
Lennart Poettering [Tue, 29 Sep 2009 17:24:26 +0000 (19:24 +0200)]
Merge remote branch 'origin/master-tx'