- i->volume = s->reference_volume;
- pa_cvolume_remap(&i->volume, &s->channel_map, &i->channel_map);
- pa_sw_cvolume_multiply(&i->volume, &i->volume, &i->reference_ratio);
-
- /* The volume changed, let's tell people so */
- if (!pa_cvolume_equal(&old_volume, &i->volume)) {
-
- if (i->volume_changed)
- i->volume_changed(i);
-
- pa_subscription_post(i->core, PA_SUBSCRIPTION_EVENT_SINK_INPUT|PA_SUBSCRIPTION_EVENT_CHANGE, i->index);
- }
+ new_volume = s->reference_volume;
+ pa_cvolume_remap(&new_volume, &s->channel_map, &i->channel_map);
+ pa_sw_cvolume_multiply(&new_volume, &new_volume, &i->reference_ratio);
+ pa_sink_input_set_volume_direct(i, &new_volume);