mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-05 13:29:57 -05:00
source: rework volume handling
- drop the 'virtual_' prefix from s->virtual_volume since we don't distuingish between reference and real volumes for sources - introduce an accuracy for source volumes: if the hardware can control the volume "close enough" don't necessarily adjust the rest in software unless it is beyond a certain threshold. This should save a little bit of CPU at the expensive of a bit of accuracy in volume handling. - other minor cleanups
This commit is contained in:
parent
2838b78e59
commit
24e582808c
5 changed files with 57 additions and 39 deletions
|
|
@ -1500,12 +1500,12 @@ static void source_set_volume_cb(pa_source *s) {
|
|||
if (u->profile != PROFILE_HSP)
|
||||
return;
|
||||
|
||||
gain = (pa_cvolume_max(&s->virtual_volume) * 15) / PA_VOLUME_NORM;
|
||||
gain = (pa_cvolume_max(&s->volume) * 15) / PA_VOLUME_NORM;
|
||||
|
||||
if (gain > 15)
|
||||
gain = 15;
|
||||
|
||||
pa_cvolume_set(&s->virtual_volume, u->sample_spec.channels, (pa_volume_t) (gain * PA_VOLUME_NORM / 15));
|
||||
pa_cvolume_set(&s->volume, u->sample_spec.channels, (pa_volume_t) (gain * PA_VOLUME_NORM / 15));
|
||||
|
||||
pa_assert_se(m = dbus_message_new_method_call("org.bluez", u->path, "org.bluez.Headset", "SetMicrophoneGain"));
|
||||
pa_assert_se(dbus_message_append_args(m, DBUS_TYPE_UINT16, &gain, DBUS_TYPE_INVALID));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue