mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	introduce pa_sink_input_get_relative_volume()
This commit is contained in:
		
							parent
							
								
									bd3154a861
								
							
						
					
					
						commit
						a998038ee2
					
				
					 2 changed files with 23 additions and 0 deletions
				
			
		| 
						 | 
					@ -923,6 +923,28 @@ const pa_cvolume *pa_sink_input_get_volume(pa_sink_input *i) {
 | 
				
			||||||
    return &i->virtual_volume;
 | 
					    return &i->virtual_volume;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Called from main context */
 | 
				
			||||||
 | 
					pa_cvolume *pa_sink_input_get_relative_volume(pa_sink_input *i, pa_cvolume *v) {
 | 
				
			||||||
 | 
					    pa_sink_input_assert_ref(i);
 | 
				
			||||||
 | 
					    pa_assert(v);
 | 
				
			||||||
 | 
					    pa_assert(PA_SINK_INPUT_IS_LINKED(i->state));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    *v = i->virtual_volume;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /* This always returns a relative volume, even in flat volume mode */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (i->sink->flags & PA_SINK_FLAT_VOLUME) {
 | 
				
			||||||
 | 
					        pa_cvolume sv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        sv = *pa_sink_get_volume(i->sink, FALSE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        pa_sw_cvolume_divide(v, v,
 | 
				
			||||||
 | 
					                             pa_cvolume_remap(&sv, &i->sink->channel_map, &i->channel_map));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return v;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Called from main context */
 | 
					/* Called from main context */
 | 
				
			||||||
void pa_sink_input_set_mute(pa_sink_input *i, pa_bool_t mute, pa_bool_t save) {
 | 
					void pa_sink_input_set_mute(pa_sink_input *i, pa_bool_t mute, pa_bool_t save) {
 | 
				
			||||||
    pa_assert(i);
 | 
					    pa_assert(i);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -302,6 +302,7 @@ pa_usec_t pa_sink_input_get_latency(pa_sink_input *i, pa_usec_t *sink_latency);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void pa_sink_input_set_volume(pa_sink_input *i, const pa_cvolume *volume, pa_bool_t save);
 | 
					void pa_sink_input_set_volume(pa_sink_input *i, const pa_cvolume *volume, pa_bool_t save);
 | 
				
			||||||
const pa_cvolume *pa_sink_input_get_volume(pa_sink_input *i);
 | 
					const pa_cvolume *pa_sink_input_get_volume(pa_sink_input *i);
 | 
				
			||||||
 | 
					pa_cvolume *pa_sink_input_get_relative_volume(pa_sink_input *i, pa_cvolume *v);
 | 
				
			||||||
void pa_sink_input_set_mute(pa_sink_input *i, pa_bool_t mute, pa_bool_t save);
 | 
					void pa_sink_input_set_mute(pa_sink_input *i, pa_bool_t mute, pa_bool_t save);
 | 
				
			||||||
pa_bool_t pa_sink_input_get_mute(pa_sink_input *i);
 | 
					pa_bool_t pa_sink_input_get_mute(pa_sink_input *i);
 | 
				
			||||||
void pa_sink_input_update_proplist(pa_sink_input *i, pa_update_mode_t mode, pa_proplist *p);
 | 
					void pa_sink_input_update_proplist(pa_sink_input *i, pa_update_mode_t mode, pa_proplist *p);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue