mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -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