Commit graph

27 commits

Author SHA1 Message Date
Maarten Bosmans
684b89c639 Fix up some double spaces 2011-03-18 09:20:07 +00:00
Zhang Wanming
0c0c285e79 Fix typos 2010-12-20 11:07:30 +00:00
Lennart Poettering
8c31974f56 sink: volume handling rework, new flat volume logic
- 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.
2009-08-19 02:55:02 +02:00
Lennart Poettering
fc33f7ee97 Merge most of elmarco/rtclock2
Merge commit 'e4d914c945'
2009-06-22 23:09:46 +02:00
Lennart Poettering
c4d90ea986 restore: change 'save' flag behaviour to reflect whether an entry shall and/or is in the on-disk databases 2009-06-22 22:33:09 +02:00
Marc-André Lureau
0955e3d45b Base mainloop on pa_rtclock_now()
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>
2009-06-20 17:29:31 +03:00
Lennart Poettering
8d3362cec6 device-restore: properly check save_muted flag when storing muted state 2009-06-18 03:41:49 +02:00
Lennart Poettering
0e4ac56afc device-restore: save last used port in database 2009-06-18 00:59:04 +02:00
Lennart Poettering
b7e2223186 database: port restore modules to new database API 2009-05-14 01:24:26 +02:00
Lennart Poettering
fe8b10cc05 core: introduce new 'reference' volume for sinks
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
2009-04-13 22:56:25 +02:00
Colin Guthrie
86dee05aec Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
Lennart Poettering
44bca66c59 make PA_GCC_PACKED and PA_GCC_MALLOC actually work 2009-02-13 18:02:47 +01:00
Lennart Poettering
1db64781bf version all entries in the database 2009-02-04 18:31:24 +01:00
Lennart Poettering
63157a6662 add missing usage strings 2009-01-28 00:19:47 +01:00
Lennart Poettering
10e5c70286 don't restore mute/volume when already set 2009-01-21 02:47:26 +01:00
Lennart Poettering
3f20a152be Pass GDBM_NOLOCK to gdbm
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.
2008-12-17 20:22:42 +01:00
Lennart Poettering
54da71ef5d reduce needlessly large gdbm cache a bit 2008-08-29 01:48:31 +02:00
Lennart Poettering
b7026bf248 add a few more gcc warning flags and fix quite a few problems found by doing so 2008-08-19 22:39:54 +02:00
Lennart Poettering
916899a973 pass force_refresh=FALSE to all volume/mute read invocations 2008-08-13 13:59:50 +02:00
Lennart Poettering
ecb2bc4f04 Modify pa_state_path() to take an additional argument for prepending the machine id to the file name. 2008-08-07 02:28:47 +02:00
Lennart Poettering
c01f0bc01f split out save trigger function 2008-08-04 18:56:12 +02:00
Lennart Poettering
32cf9db434 store channel map in database and remap volumes if ncessary 2008-08-04 18:55:50 +02:00
Lennart Poettering
ec19f2bbf8 a bit of refactoring 2008-08-03 23:22:38 +02:00
Lennart Poettering
8ae83d618e get rid of svn $ keywords 2008-06-18 23:23:21 +03:00
Lennart Poettering
92e4fb318e merge Colin Guthrie's module-always-sink module, and add priorization to the hook subsystem while doing so.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2516 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-06-11 19:45:57 +00:00
Lennart Poettering
6be0c7526c move device volume file to state dir
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2479 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-21 22:47:07 +00:00
Lennart Poettering
045c1d602d merge glitch-free branch back into trunk
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2445 fefdeb5f-60dc-0310-8127-8f9354f1896f
2008-05-15 23:34:41 +00:00