summaryrefslogtreecommitdiffstats
path: root/src/modules/module-device-restore.c
Commit message (Collapse)AuthorAgeFilesLines
* sink: volume handling rework, new flat volume logicLennart Poettering2009-08-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | - We now implement a logic where the sink maintains two distinct volumes: the 'reference' volume which is shown to the users, and the 'real' volume, which is configured to the hardware. The latter is configured to the max of all streams. Volume changes on sinks are propagated back to the streams proportional to the reference volume change. Volume changes on sink inputs are forwarded to the sink by 'pushing' the volume if necessary. This renames the old 'virtual_volume' to 'real_volume'. The 'reference_volume' is now the one exposed to users. By this logic the sink volume visible to the user, will always be the "upper" boundary for everything that is played. Saved/restored stream volumes are measured relative to this boundary, the factor here is always < 1.0. - introduce accuracy for sink volumes, similar to the accuracy we already have for source volumes. - other cleanups.
* Merge most of elmarco/rtclock2Lennart Poettering2009-06-221-8/+4
|\ | | | | | | Merge commit 'e4d914c945c13d23b131d7ba75fbdd03cb6d0043'
| * Base mainloop on pa_rtclock_now()Marc-André Lureau2009-06-201-8/+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>
* | restore: change 'save' flag behaviour to reflect whether an entry shall ↵Lennart Poettering2009-06-221-12/+18
|/ | | | and/or is in the on-disk databases
* device-restore: properly check save_muted flag when storing muted stateLennart Poettering2009-06-181-1/+1
|
* device-restore: save last used port in databaseLennart Poettering2009-06-181-31/+171
|
* database: port restore modules to new database APILennart Poettering2009-05-141-39/+26
|
* core: introduce new 'reference' volume for sinksLennart Poettering2009-04-131-1/+1
| | | | | | | | | | | | | | | 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
* Use LGPL 2.1 on all files previously using LGPL 2Colin Guthrie2009-03-031-1/+1
|
* make PA_GCC_PACKED and PA_GCC_MALLOC actually workLennart Poettering2009-02-131-2/+2
|
* version all entries in the databaseLennart Poettering2009-02-041-3/+12
|
* add missing usage stringsLennart Poettering2009-01-281-0/+3
|
* don't restore mute/volume when already setLennart Poettering2009-01-211-10/+27
|
* Pass GDBM_NOLOCK to gdbmLennart Poettering2008-12-171-1/+1
| | | | | | | | | | gdbm still uses BSD lockf for locking which is incompatible with NFS. Since we don't need the locking here since the db files in question should never be accessed by more than one process since they are per-home-dir and per-machine we can disable locking without any ill results. This should fix rhbz #471279.
* reduce needlessly large gdbm cache a bitLennart Poettering2008-08-291-0/+5
|
* add a few more gcc warning flags and fix quite a few problems found by doing soLennart Poettering2008-08-191-2/+2
|
* pass force_refresh=FALSE to all volume/mute read invocationsLennart Poettering2008-08-131-4/+4
|
* Modify pa_state_path() to take an additional argument for prepending the ↵Lennart Poettering2008-08-071-5/+5
| | | | machine id to the file name.
* split out save trigger functionLennart Poettering2008-08-041-7/+15
|
* store channel map in database and remap volumes if ncessaryLennart Poettering2008-08-041-10/+22
|
* a bit of refactoringLennart Poettering2008-08-031-75/+91
|
* get rid of svn $ keywordsLennart Poettering2008-06-181-2/+0
|
* merge Colin Guthrie's module-always-sink module, and add priorization to the ↵Lennart Poettering2008-06-111-2/+2
| | | | | | hook subsystem while doing so. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2516 fefdeb5f-60dc-0310-8127-8f9354f1896f
* move device volume file to state dirLennart Poettering2008-05-211-5/+6
| | | | git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2479 fefdeb5f-60dc-0310-8127-8f9354f1896f
* merge glitch-free branch back into trunkLennart Poettering2008-05-151-0/+349
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2445 fefdeb5f-60dc-0310-8127-8f9354f1896f