diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-08-19 02:55:02 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-08-19 02:55:02 +0200 |
commit | 8c31974f56ebbbfc1a4978150026acf77c32689e (patch) | |
tree | 3078845a45638377a5d181695ed352dd32bf44cb /src/modules/module-match.c | |
parent | 5207e191424675df74059aaf30f9b1292a05cb5d (diff) |
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.
Diffstat (limited to 'src/modules/module-match.c')
-rw-r--r-- | src/modules/module-match.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/modules/module-match.c b/src/modules/module-match.c index 14e01127..0bd781d2 100644 --- a/src/modules/module-match.c +++ b/src/modules/module-match.c @@ -216,7 +216,7 @@ static void callback(pa_core *c, pa_subscription_event_type_t t, uint32_t idx, v pa_cvolume cv; pa_log_debug("changing volume of sink input '%s' to 0x%03x", n, r->volume); pa_cvolume_set(&cv, si->sample_spec.channels, r->volume); - pa_sink_input_set_volume(si, &cv, TRUE, TRUE); + pa_sink_input_set_volume(si, &cv, TRUE, FALSE); } } } |