From 624f220aa6b9e985ac3a14a4ef08e79bf8356723 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 7 Oct 2008 22:42:13 +0200 Subject: instead of resetting virtual_volume unconditionally on initialization, do so only when no volume was set before --- src/pulsecore/sink-input.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/pulsecore/sink-input.c') diff --git a/src/pulsecore/sink-input.c b/src/pulsecore/sink-input.c index 9a3c49cb..bd4d769b 100644 --- a/src/pulsecore/sink-input.c +++ b/src/pulsecore/sink-input.c @@ -150,13 +150,16 @@ pa_sink_input* pa_sink_input_new( pa_return_null_if_fail(pa_channel_map_valid(&data->channel_map)); pa_return_null_if_fail(data->channel_map.channels == data->sample_spec.channels); - if (!data->volume_is_set) + if (!data->volume_is_set) { pa_cvolume_reset(&data->volume, data->sample_spec.channels); + pa_cvolume_reset(&data->virtual_volume, data->sample_spec.channels); + } pa_return_null_if_fail(pa_cvolume_valid(&data->volume)); pa_return_null_if_fail(data->volume.channels == data->sample_spec.channels); - data->virtual_volume = data->volume; + pa_return_null_if_fail(pa_cvolume_valid(&data->virtual_volume)); + pa_return_null_if_fail(pa_cvolume_compatible(&data->virtual_volume.channels, &data->sample_spec)); if (!data->muted_is_set) data->muted = FALSE; -- cgit