sink-input: Keep reference ratio up-to-date

The reference ratio should always be kept up-to-date. If the reference
ratio is not updated when the input volume changes, the stale
reference ratio ends up being used as the new input volume when the
input is moved.
This commit is contained in:
Tanu Kaskinen 2013-04-03 18:28:32 +03:00
parent ee5e245afa
commit 8e0e2617fb

View file

@ -1289,6 +1289,7 @@ void pa_sink_input_set_volume(pa_sink_input *i, const pa_cvolume *volume, bool s
/* OK, we are in normal volume mode. The volume only affects
* ourselves */
set_real_ratio(i, volume);
i->reference_ratio = i->volume;
/* Copy the new soft_volume to the thread_info struct */
pa_assert_se(pa_asyncmsgq_send(i->sink->asyncmsgq, PA_MSGOBJECT(i), PA_SINK_INPUT_MESSAGE_SET_SOFT_VOLUME, NULL, 0, NULL) == 0);