mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	volume hooks
Signed-off-by: Lennart Poettering <lennart@poettering.net>
This commit is contained in:
		
							parent
							
								
									fa93cb71e8
								
							
						
					
					
						commit
						45412740b8
					
				
					 6 changed files with 52 additions and 9 deletions
				
			
		| 
						 | 
				
			
			@ -843,13 +843,21 @@ pa_usec_t pa_sink_get_latency(pa_sink *s) {
 | 
			
		|||
/* Called from main thread */
 | 
			
		||||
void pa_sink_set_volume(pa_sink *s, const pa_cvolume *volume) {
 | 
			
		||||
    pa_bool_t changed;
 | 
			
		||||
    pa_sink_set_volume_data data;
 | 
			
		||||
 | 
			
		||||
    pa_sink_assert_ref(s);
 | 
			
		||||
    pa_assert(PA_SINK_IS_LINKED(s->state));
 | 
			
		||||
    pa_assert(volume);
 | 
			
		||||
 | 
			
		||||
    changed = !pa_cvolume_equal(volume, &s->volume);
 | 
			
		||||
    s->volume = *volume;
 | 
			
		||||
    data.sink = s;
 | 
			
		||||
    data.volume = *volume;
 | 
			
		||||
 | 
			
		||||
    changed = !pa_cvolume_equal(&data.volume, &s->volume);
 | 
			
		||||
 | 
			
		||||
    if (changed && pa_hook_fire(&s->core->hooks[PA_CORE_HOOK_SINK_SET_VOLUME], &data) < 0)
 | 
			
		||||
        return;
 | 
			
		||||
 | 
			
		||||
    s->volume = data.volume;
 | 
			
		||||
 | 
			
		||||
    if (s->set_volume && s->set_volume(s) < 0)
 | 
			
		||||
        s->set_volume = NULL;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue