diff options
| author | Lennart Poettering <lennart@poettering.net> | 2009-01-27 23:55:22 +0100 | 
|---|---|---|
| committer | Lennart Poettering <lennart@poettering.net> | 2009-01-27 23:55:41 +0100 | 
| commit | 0f664b736553f87bce6073b53c19f31046d67dfd (patch) | |
| tree | e32c18184f0942135e4b2689b2df4a0e824f00e5 /src | |
| parent | e439c18785fa0130ecff164e36e0096c4fd92866 (diff) | |
instead of making the volume relative our own, let' pa_sink_input_new() do it for us
Diffstat (limited to 'src')
| -rw-r--r-- | src/modules/module-stream-restore.c | 15 | 
1 files changed, 10 insertions, 5 deletions
diff --git a/src/modules/module-stream-restore.c b/src/modules/module-stream-restore.c index fe30e295..eb74bc04 100644 --- a/src/modules/module-stream-restore.c +++ b/src/modules/module-stream-restore.c @@ -392,15 +392,20 @@ static pa_hook_result_t sink_input_fixate_hook_callback(pa_core *c, pa_sink_inpu                      if (e->absolute_volume_valid &&                          e->device_valid && -                        pa_streq(new_data->sink->name, e->device)) +                        pa_streq(new_data->sink->name, e->device)) { +                          v = e->absolute_volume; -                    else if (e->relative_volume_valid) { -                        pa_cvolume t = new_data->sink->virtual_volume; -                        pa_sw_cvolume_multiply(&v, &e->relative_volume, pa_cvolume_remap(&t, &new_data->sink->channel_map, &e->channel_map)); +                        new_data->virtual_volume_is_absolute = TRUE; +                    } else if (e->relative_volume_valid) { + +                        v = e->relative_volume; +                        new_data->virtual_volume_is_absolute = FALSE;                      } -                } else if (e->relative_volume_valid) +                } else if (e->relative_volume_valid) {                      v = e->relative_volume; +                    new_data->virtual_volume_is_absolute = FALSE; +                }                  if (v.channels > 0) {                      pa_log_info("Restoring volume for sink input %s.", name);  | 
