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.
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'
Lennart Poettering [Tue, 29 Sep 2009 02:54:37 +0000 (19:54 -0700)]
reserve: downgrade reserve logic messages, so that reusing pa in two sessions does not create spew in syslog
jsimon [Mon, 28 Sep 2009 14:50:12 +0000 (14:50 +0000)]
Sending translation for German
jsimon [Mon, 28 Sep 2009 14:48:17 +0000 (14:48 +0000)]
Sending translation for German
raven [Sun, 27 Sep 2009 13:42:46 +0000 (13:42 +0000)]
Sending translation for Polish
Wim Taymans [Wed, 23 Sep 2009 15:16:04 +0000 (17:16 +0200)]
svolume: tweak constraints for 32 bits
Tweak the constraints a little so that register starved 32bit systems
can select a stack variable for the channel paramter instead of reusing one of
the registers we're using in the code.
ruigo [Tue, 22 Sep 2009 20:45:29 +0000 (20:45 +0000)]
Sending translation for Portuguese
Colin Guthrie [Tue, 22 Sep 2009 17:43:03 +0000 (18:43 +0100)]
libpulse: Add *_NOFLAGS flags with value 0 for various enums
This avoids the need for ugly casting in client implementations.
shanky [Tue, 22 Sep 2009 10:12:04 +0000 (10:12 +0000)]
Sending translation for Kannada
anipeter [Mon, 21 Sep 2009 15:24:57 +0000 (15:24 +0000)]
Sending translation for Malayalam
sandeeps [Mon, 21 Sep 2009 12:49:41 +0000 (12:49 +0000)]
Sending translation for Marathi
kkrothap [Mon, 21 Sep 2009 11:57:52 +0000 (11:57 +0000)]
Sending translation for Telugu
rajesh [Mon, 21 Sep 2009 10:57:45 +0000 (10:57 +0000)]
Sending translation for Hindi
Colin Guthrie [Sun, 20 Sep 2009 20:36:14 +0000 (21:36 +0100)]
tunnel: fix parsing of source info from newer servers
Emil Renner Berthing [Sun, 20 Sep 2009 19:28:23 +0000 (21:28 +0200)]
tunnel: fix parsing of sink info from newer servers
Colin Guthrie [Sun, 20 Sep 2009 17:07:23 +0000 (18:07 +0100)]
stream-restore: Comment fix
Lennart Poettering [Sun, 20 Sep 2009 01:18:03 +0000 (03:18 +0200)]
core: dump proplist when creating stream similar to how we already to it for sinks/sources
Lennart Poettering [Sun, 20 Sep 2009 01:17:36 +0000 (03:17 +0200)]
alsa: make build gcc clean on 32bit
Lennart Poettering [Sat, 19 Sep 2009 00:35:13 +0000 (02:35 +0200)]
Merge remote branch 'origin/master-tx'
Lennart Poettering [Fri, 18 Sep 2009 23:58:03 +0000 (01:58 +0200)]
build-sys: bump soname for release
Lennart Poettering [Fri, 18 Sep 2009 23:55:46 +0000 (01:55 +0200)]
vala: install .vapi file by default
Lennart Poettering [Fri, 18 Sep 2009 23:49:36 +0000 (01:49 +0200)]
vala: numerous updates
ricardopinto [Fri, 18 Sep 2009 22:44:59 +0000 (22:44 +0000)]
Sending translation for Portuguese
Lennart Poettering [Fri, 18 Sep 2009 22:21:34 +0000 (00:21 +0200)]
memtrap: properly add items to linked list
Lennart Poettering [Fri, 18 Sep 2009 21:31:54 +0000 (23:31 +0200)]
gconf: run the wrapper script when running gconf-helper from build tree
Lennart Poettering [Fri, 18 Sep 2009 20:42:37 +0000 (22:42 +0200)]
namereg: choose default sink/source as soon as one becomes available
Lennart Poettering [Fri, 18 Sep 2009 20:21:08 +0000 (22:21 +0200)]
i18n: run make update-po
Lennart Poettering [Fri, 18 Sep 2009 20:16:59 +0000 (22:16 +0200)]
Merge remote branch 'origin/master-tx'
Lennart Poettering [Fri, 18 Sep 2009 20:15:33 +0000 (22:15 +0200)]
memblock: don't try to reuse PA_MEMBLOCK_APPENDED memblocks since they usually are much bigger than we want them
Lennart Poettering [Fri, 18 Sep 2009 20:14:55 +0000 (22:14 +0200)]
mainloop: fix detection of rt clocks
Lennart Poettering [Fri, 18 Sep 2009 19:24:58 +0000 (21:24 +0200)]
socket-client: modernizations
Lennart Poettering [Fri, 18 Sep 2009 19:24:26 +0000 (21:24 +0200)]
memblock: modernizations
Colin Guthrie [Fri, 18 Sep 2009 15:10:13 +0000 (16:10 +0100)]
conf: Fix typo in daemon.conf: rlimit-rtttime - too many t's
Spotted by peol on IRC
ifelix [Fri, 18 Sep 2009 08:47:14 +0000 (08:47 +0000)]
Sending translation for Tamil
Colin Guthrie [Fri, 18 Sep 2009 08:22:23 +0000 (09:22 +0100)]
alsa: Give all ports a human name to allow UI tools to present the choice to users.
Colin Guthrie [Fri, 18 Sep 2009 08:18:04 +0000 (09:18 +0100)]
rtp: Remove 'fix me' comment after it was actually fixed in [56b6e1]
That's what you get for applying your stash without fully checking if anything else was committed in the mean time :p
Lennart Poettering [Fri, 18 Sep 2009 02:21:01 +0000 (04:21 +0200)]
mainloop: pass monotonic times back to user if he passed monotonic times to us
Lennart Poettering [Fri, 18 Sep 2009 02:11:59 +0000 (04:11 +0200)]
timeval: make timeval conversion routines handle PA_USEC_INVALID special
Lennart Poettering [Fri, 18 Sep 2009 02:11:02 +0000 (04:11 +0200)]
timeval: add UNLIKELY annotation
Lennart Poettering [Fri, 18 Sep 2009 02:10:26 +0000 (04:10 +0200)]
timeval: make pa_timeval_sub saturating
Lennart Poettering [Fri, 18 Sep 2009 02:08:36 +0000 (04:08 +0200)]
core-rtclock: introduce pa_timespec_store() akin pa_timeval_store()
Lennart Poettering [Fri, 18 Sep 2009 02:07:12 +0000 (04:07 +0200)]
timeval: introduce PA_USEC_MAX
Lennart Poettering [Fri, 18 Sep 2009 02:05:54 +0000 (04:05 +0200)]
macro: introduce PA_INT_TYPE_MIN, PA_INT_TYPE_MAX, PA_INT_TYPE_SIGNED macros
Lennart Poettering [Fri, 18 Sep 2009 02:05:10 +0000 (04:05 +0200)]
mainloop: sum up dispatched events in an unsigned to clarify range
Lennart Poettering [Fri, 18 Sep 2009 02:03:49 +0000 (04:03 +0200)]
mainloop: use PA_LLIST_FOREACH macros where applicable
Lennart Poettering [Fri, 18 Sep 2009 02:00:38 +0000 (04:00 +0200)]
mainloop: don't initialize fields we don't have to
Lennart Poettering [Fri, 18 Sep 2009 01:59:40 +0000 (03:59 +0200)]
mainloop: calculate in pa_usec_t everywhere
Lennart Poettering [Fri, 18 Sep 2009 01:48:55 +0000 (03:48 +0200)]
mainloop: properly convert time to wallclock time when handing it to the user
Lennart Poettering [Fri, 18 Sep 2009 01:46:33 +0000 (03:46 +0200)]
alsa: fix Surround mixer element name
s/Sourround/Surround/
Spotted by Colin Guthrie
ricardopinto [Fri, 18 Sep 2009 01:04:02 +0000 (01:04 +0000)]
Sending translation for Portuguese
Colin Guthrie [Thu, 17 Sep 2009 23:20:46 +0000 (00:20 +0100)]
rtp: Factor out direct io writing and use ioline instead.
This is how things should have worked orinally, but I obviously misunderstood things a bit.
This seems to prevent the random hangups that were happening previously :)
Colin Guthrie [Wed, 16 Sep 2009 19:54:51 +0000 (20:54 +0100)]
raop: Use pa_module_unload_request_by_index as per module-zeroconf-discover