summaryrefslogtreecommitdiffstats
path: root/src/modules/module-stream-restore.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove unnecessary #includesMaarten Bosmans2011-06-221-2/+1
|
* database: Support legacy format database entries.Colin Guthrie2011-06-221-34/+94
| | | | | | This adds code to specifically support legacy entries. I kept this code in a separate commit so that it can be (relatively) easily removed at some point in the future.
* database: Convert our use of database files to save in tagstruct format.Colin Guthrie2011-06-221-188/+232
| | | | | | | | | | | | | This has the advantage of allowing versioned updates in the future, thus allowing us to be more user friendly going forward (as opposed to just ignoring entries from old versions). The primary motivation for this, however, is to allow variable length storage in each entry which will be needed for upcoming work. At present this commit will ignore any legacy entries but support for reading and subsequently converting legacy entries will be added shortly.
* capture: Add the passthrough format negotiation to capture streams.Colin Guthrie2011-06-221-3/+2
| | | | | This helps to keep the API more symmetrical and also potentially allows support for passthrough monitor sources at some point in the future.
* core: Add extended stream API to support compressed formatsArun Raghavan2011-05-021-5/+3
| | | | | | | | | | | | | | | This is the beginning of work to support compressed formats natively in PulseAudio. This adds a pa_stream_new_extended() that takes a format structure, sends it to the server (=> protocol extension) and has the server negotiate with the appropropriate sink to figure out what format it should use. This is work in progress, and works only with PCM streams. Actual compressed format support in some sink needs to be implemented, and extensive testing is required. More details on how this is supposed to work is available at: http://pulseaudio.org/wiki/PassthroughSupport
* stream-restore: Enable database dumping if DEBUG_VOLUME is defined.Tanu Kaskinen2011-04-281-2/+2
|
* stream-restore: Check for readability before reading volumeArun Raghavan2011-04-181-1/+1
| | | | | This avoids an assert in pa_sink_input_get_volume() when connecting a passthrough stream.
* stream-restore: add version to new entry.Harri Mähönen2011-04-051-0/+1
|
* sink-input: Add volume_writable to pa_sink_input.Tanu Kaskinen2011-03-291-3/+3
| | | | | | | | | | This is pretty cosmetic change; there's no actual functionality added. Previously the volume_writable information was available through the pa_sink_input_is_volume_writable() function, but I find it cleaner to have a real variable. The sink input introspection variable name was also changed from read_only_volume to volume_writable for consistency.
* Fix up some double spacesMaarten Bosmans2011-03-181-1/+1
|
* Allow read-only or non-existing sink input volume.Tanu Kaskinen2011-02-221-5/+9
| | | | | | | | | | | | 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()).
* fix bug about get source-output statusChen Rui2010-12-201-1/+1
|
* Fix typosZhang Wanming2010-12-201-1/+1
|
* volume: Fix incorrect usage of PA_VOLUME_IS_VALIDArun Raghavan2010-10-191-1/+1
| | | | | The commit that introduced this macro was incorrect in some places. This patch fixes these. Thanks to Pierre-Louis Bossart for pointing this out.
* volume: Use a macro to check if a volume is validArun Raghavan2010-10-151-1/+1
| | | | | | | 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).
* stream-restore: When changing restore entries with D-Bus, apply the changes ↵Tanu Kaskinen2010-05-101-0/+3
| | | | immediately.
* stream-restore: Fix segfaulting. The dbus entry callbacks expect a ↵Tanu Kaskinen2010-05-101-1/+1
| | | | dbus_entry pointer instead of a userdata pointer.
* stream-restore: be a little bit more verbose why we don't reastore a sinkLennart Poettering2010-02-211-1/+1
|
* stream-restore: Clear the save_sink/save_source flags on apply_entry.Colin Guthrie2010-02-051-12/+36
| | | | | | | | | | | If the user specifically removes the device element from the stream restore rule, we have to clear the save_sink/save_source flag of the stream. This means that other stream routing systems (e.g. module-device-manager) can take over routing for this stream. In order to facilitate the reapplication of other routing rules, we fire a stream change event. Arguably the stream itself has not changed, but the rules governing its routing have, so I feel this is justified.
* stream-restore: At startup, create dbus entries only for valid database entries.Tanu Kaskinen2009-12-031-2/+7
|
* stream-restore: Add a missing pa_xnew0() call in handle_add_entry().Tanu Kaskinen2009-12-031-0/+1
|
* stream-restore: Fix a few assertion misuses with the D-Bus code.Tanu Kaskinen2009-12-031-5/+5
|
* Rename all the signal parameters and variables to something more explicit.Diego Elio 'Flameeyes' Pettenò2009-11-211-25/+25
| | | | | Without this change, on FreeBSD you'll be bothered by tons of warnings about overshadowing signal(2).
* Merge remote branch 'coling/history'Lennart Poettering2009-10-071-2/+2
|\
| * stream-restore: Preventative initialistion to NULLColin Guthrie2009-10-011-2/+2
| | | | | | | | | | | | | | 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...
* | Merge branch 'master' into dbus-workTanu Kaskinen2009-10-021-1/+1
|\| | | | | | | | | Conflicts: src/daemon/daemon-conf.c
| * stream-restore: Comment fixColin Guthrie2009-09-201-1/+1
| |
* | dbus: Change IsMuted property names to Mute.Tanu Kaskinen2009-08-311-21/+21
| |
* | Merge branch 'master' of git://0pointer.de/pulseaudio into dbus-workTanu Kaskinen2009-08-301-2/+6
|\| | | | | | | | | Conflicts: src/modules/module-stream-restore.c
| * protocol-native: print more volume change debug messages to easy tracking ↵Lennart Poettering2009-08-271-0/+4
| | | | | | | | down of feedback loops
* | dbus: Do message argument type checking early, centrally.Tanu Kaskinen2009-08-301-83/+37
| |
* | Merge branch 'master' of git://0pointer.de/pulseaudio into dbus-workTanu Kaskinen2009-08-161-32/+110
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/Makefile.am src/daemon/daemon-conf.c src/daemon/daemon.conf.in src/modules/module-stream-restore.c src/pulse/client-conf.c src/pulsecore/namereg.c
| * modules: add various checks to avoid selecting objects that are not linked ↵Lennart Poettering2009-08-161-0/+18
| | | | | | | | or in another unclear state
| * module-stream-restore: don't fiddle with sinks/sources/streams that are not ↵Lennart Poettering2009-08-141-26/+86
| | | | | | | | fully set up yet
| * stream-restore: mark volume changes from instant apply as saved onesv0.9.16-test2Lennart Poettering2009-07-011-6/+7
| |
* | dbus: Take advantage of the PA_HASHMAP_FOREACH macro.Tanu Kaskinen2009-08-091-5/+3
| |
* | stream-restore: Expose module to D-Bus.Tanu Kaskinen2009-08-031-5/+1050
|/
* modules: pass properly initialized userdata pointers to various hooksLennart Poettering2009-06-231-2/+2
|
* Merge most of elmarco/rtclock2Lennart Poettering2009-06-221-7/+4
|\ | | | | | | Merge commit 'e4d914c945c13d23b131d7ba75fbdd03cb6d0043'
| * Base mainloop on pa_rtclock_now()Marc-André Lureau2009-06-201-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the mainloop to monotonic based time events. Introduces 4 helper functions: pa_{context,core}_rttime_{new,restart}(), that fill correctly a timeval with the rtclock flag set if the mainloop supports it. Both mainloop-test and mainloop-test-glib works with rt and timeval based time events. PulseAudio and clients should be fully functional. This patch has received several iterations, and this one as been largely untested. Signed-off-by: Marc-André Lureau <marca-andre.lureau@nokia.com>
* | module-stream-restore: recheck stream database on hotplug/unplug and ↵Lennart Poettering2009-06-221-4/+190
| | | | | | | | potentially move streams
* | restore: change 'save' flag behaviour to reflect whether an entry shall ↵Lennart Poettering2009-06-221-17/+17
|/ | | | and/or is in the on-disk databases
* card,stream-restore: minor cleanupsLennart Poettering2009-06-181-9/+5
|
* stream-restore: e don't need to save stream data that came from the databaseLennart Poettering2009-06-181-6/+6
|
* database: port restore modules to new database APILennart Poettering2009-05-141-82/+56
|
* core: introduce new 'reference' volume for sinksLennart Poettering2009-04-131-89/+53
| | | | | | | | | | | | | | | The reference volume is to be used as reference volume for stored stream volumes. Previously if a new stream was created the relative volume was taken relatively to the virtual device volume. Due to the flat volume logic this could then be fed back to the virtual device volume. Repeating the whole story over and over would result in a device volume that would go lower, and lower and lower. This patch introduces a 'reference' volume for each sink which stays unmodified by stream volume changes even if flat volumes are used. It is only modified if the sink volumes are modified directly by the user. For further explanations see http://pulseaudio.org/wiki/InternalVolumes
* always remap relative volume properlyLennart Poettering2009-03-201-12/+10
|
* Use LGPL 2.1 on all files previously using LGPL 2Colin Guthrie2009-03-031-1/+1
|
* stream-resotre: don't leak a nameMarc-André Lureau2009-02-191-0/+2
|
* make PA_GCC_PACKED and PA_GCC_MALLOC actually workLennart Poettering2009-02-131-2/+2
|