Commit graph

5138 commits

Author SHA1 Message Date
Lennart Poettering
c13bf3dd55 pulse: delay smoother update only when unpausing, not when pausing, since we don't want the timer to advance when we are supposedly already paused 2009-11-23 05:03:22 +01:00
Lennart Poettering
d6a851cd16 pulse: try to fix inaccuracy with uncork timing for streams that are created in corked state 2009-11-23 05:03:13 +01:00
Lennart Poettering
5c90723d31 daemon: complain if user passes too many arguments 2009-11-23 05:03:02 +01:00
Colin Guthrie
3014081136 Merge branch '0.9.20-stable' into stable-queue
Conflicts:
	src/Makefile.am
2009-11-20 16:58:28 +00:00
Lennart Poettering
231417c867 rygel: fix itemCount property for sources
Fixes http://pulseaudio.org/ticket/721
2009-11-18 21:41:38 +01:00
Colin Guthrie
9f415841f5 build-sys: Fix missing trailing slash in 14eaf2 2009-11-16 23:37:00 +00:00
Sjoerd Simons
8edf2f0ed8 build-sys: Make sure all alsa path config files are installed
While all alsa path configuration files were in EXTRA_DIST not all of them were
in in alsapaths_DATA. Fixed by only defining the list in one place
2009-11-16 23:26:02 +00:00
Colin Guthrie
25537ffa00 device-manager: Update docs version -> 0.9.20
Third time is a charm... maybe.
2009-11-11 17:50:38 +00:00
Colin Guthrie
725ab6c4a0 device-manager: Update docs version -> 0.9.20 2009-11-11 17:44:28 +00:00
Colin Guthrie
ff71cbfb0e device-manager: Fix compiler warning.
Do not use a variable called 'index' as it clashes with string.h
2009-11-11 17:44:28 +00:00
Colin Guthrie
5382455d5e device-manager: Rather than flagging the device as available, just include the sink/source index with PA_INVALID_INDEX meaning unavailable 2009-11-11 17:44:27 +00:00
Colin Guthrie
af55f07015 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.
2009-11-11 17:44:27 +00:00
Colin Guthrie
1b31d8a075 device-manager: Make use of PA_IDXSET_FOREACH when applying entries. 2009-11-11 17:44:27 +00:00
Colin Guthrie
ab3502feab 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).
2009-11-11 17:44:27 +00:00
Colin Guthrie
654df0f858 device-manager: No need to check the version after calling read_entry() 2009-11-11 17:44:27 +00:00
Colin Guthrie
324eb21395 device-manager: Fix typo in module loading script. 2009-11-11 17:44:27 +00:00
Colin Guthrie
3130403c81 device-manager: Add some scripts that are only run under KDE to load/initialise module-device-manager with routing turned on. 2009-11-11 17:44:27 +00:00
Colin Guthrie
996fc1f2e2 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.
2009-11-11 17:44:26 +00:00
Colin Guthrie
6e0dde1a7a 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
2009-11-11 17:44:26 +00:00
Colin Guthrie
763de9e7c9 device-manager: Fix the writing of the database when priority doesn't change. 2009-11-11 17:44:26 +00:00
Colin Guthrie
d5dc700913 device-manager: Add extra debug messages 2009-11-11 17:44:26 +00:00
Colin Guthrie
8a5778dcc5 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.
2009-11-11 17:44:26 +00:00
Colin Guthrie
45a4d26aca device-manager: Don't notify clients on every subscription (it happens all the time).
Also compare the entries fully before saving.
2009-11-11 17:44:26 +00:00
Colin Guthrie
ff633cbce0 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.
2009-11-11 17:44:26 +00:00
Colin Guthrie
055ad89928 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.
2009-11-11 17:44:26 +00:00
Colin Guthrie
aa93410115 device-manager: Add a function to dump the database which we do whenever we save it (and on startup) 2009-11-11 17:44:26 +00:00
Colin Guthrie
d9a3131328 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.
2009-11-11 17:44:25 +00:00
Colin Guthrie
3072f65958 device-manager: Refactor the routing method to allow the routing of a single stream 2009-11-11 17:44:25 +00:00
Colin Guthrie
888a515a8e device-manager: More sensible names for internal functions 2009-11-11 17:44:25 +00:00
Colin Guthrie
d81fa00c0c device-manager: Reroute the streams on startup and update our cache on enable. 2009-11-11 17:44:25 +00:00
Colin Guthrie
df893f6d72 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.
2009-11-11 17:44:25 +00:00
Colin Guthrie
009d087f86 device-manager: Fix the database write mode 2009-11-11 17:44:25 +00:00
Colin Guthrie
8863dbe10d device-manager: Update exports 2009-11-11 17:44:25 +00:00
Colin Guthrie
6e67653aee device-manager: Some efficiency and safety tweaks 2009-11-11 17:44:25 +00:00
Colin Guthrie
26f1ec7e0e device-manager: Allow the routing component to be turned on via a module argument as well as via protocol extn. 2009-11-11 17:44:25 +00:00
Colin Guthrie
8d3d0d3e0e device-manager: Remove unused variables 2009-11-11 17:44:24 +00:00
Colin Guthrie
5077fe14a3 device-manager: Set the most appropriate sink/source when new streams are created 2009-11-11 17:44:24 +00:00
Colin Guthrie
470b62594f device-manager: Add routing functions that are triggered when sinks/soruces are added/removed. 2009-11-11 17:44:24 +00:00
Colin Guthrie
8c9966740d device-manager: Add a function to get a list of the highest priority device indexes for each role. 2009-11-11 17:44:24 +00:00
Colin Guthrie
d69eba34e2 device-manager: Remove unneeded logic for checking for and (un)loading module-stream-restore. We can co-exist 2009-11-11 17:44:24 +00:00
Colin Guthrie
a0567fb41b 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.
2009-11-11 17:44:24 +00:00
Colin Guthrie
fd5a5084d8 device-manager: debug and comments 2009-11-11 17:44:24 +00:00
Colin Guthrie
2b714801c1 device-manager: Fix the freeing of the datum on prefer/defer.
Also fix a log typo
2009-11-11 17:44:24 +00:00
Colin Guthrie
0541028797 device-manager: When a new device is encountered, initialise the priority list to an appropriate value 2009-11-11 17:44:23 +00:00
Colin Guthrie
5e3f1c2363 device-manager: Let subscribed clients know when something changes. 2009-11-11 17:44:23 +00:00
Colin Guthrie
6d4afac194 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.
2009-11-11 17:44:23 +00:00
Colin Guthrie
4981268738 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.
2009-11-11 17:44:23 +00:00
Colin Guthrie
a9bd1ab69c device-manager: Fix copy+paste code that looped over the tagstruct when not necessary 2009-11-11 17:44:23 +00:00
Colin Guthrie
c1ece6ce85 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).
2009-11-11 17:44:23 +00:00
Colin Guthrie
25f054582f device-manager: Update docs version -> 0.9.19 (predicted) 2009-11-11 17:44:23 +00:00