mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	volume: add pa_cvolume_inc_clamp function
added function to increase volume not exceeding specified limit simply changed PA_VOLUME_MAX to 'limit' in pa_cvolume_inc pa_cvolume_inc now calls pa_cvolume_inc_clamp with PA_VOLUME_MAX limit
This commit is contained in:
		
							parent
							
								
									53b046d5c9
								
							
						
					
					
						commit
						d2c59354d5
					
				
					 3 changed files with 12 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -130,6 +130,7 @@ pa_cvolume_get_balance;
 | 
			
		|||
pa_cvolume_get_fade;
 | 
			
		||||
pa_cvolume_get_position;
 | 
			
		||||
pa_cvolume_inc;
 | 
			
		||||
pa_cvolume_inc_clamp;
 | 
			
		||||
pa_cvolume_init;
 | 
			
		||||
pa_cvolume_max;
 | 
			
		||||
pa_cvolume_max_mask;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -885,7 +885,7 @@ pa_cvolume* pa_cvolume_merge(pa_cvolume *dest, const pa_cvolume *a, const pa_cvo
 | 
			
		|||
    return dest;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pa_cvolume* pa_cvolume_inc(pa_cvolume *v, pa_volume_t inc) {
 | 
			
		||||
pa_cvolume* pa_cvolume_inc_clamp(pa_cvolume *v, pa_volume_t inc, pa_volume_t limit) {
 | 
			
		||||
    pa_volume_t m;
 | 
			
		||||
 | 
			
		||||
    pa_assert(v);
 | 
			
		||||
| 
						 | 
				
			
			@ -895,14 +895,18 @@ pa_cvolume* pa_cvolume_inc(pa_cvolume *v, pa_volume_t inc) {
 | 
			
		|||
 | 
			
		||||
    m = pa_cvolume_max(v);
 | 
			
		||||
 | 
			
		||||
    if (m >= PA_VOLUME_MAX - inc)
 | 
			
		||||
        m = PA_VOLUME_MAX;
 | 
			
		||||
    if (m >= limit - inc)
 | 
			
		||||
        m = limit;
 | 
			
		||||
    else
 | 
			
		||||
        m += inc;
 | 
			
		||||
 | 
			
		||||
    return pa_cvolume_scale(v, m);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pa_cvolume* pa_cvolume_inc(pa_cvolume *v, pa_volume_t inc){
 | 
			
		||||
    return pa_cvolume_inc_clamp(v, inc, PA_VOLUME_MAX);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pa_cvolume* pa_cvolume_dec(pa_cvolume *v, pa_volume_t dec) {
 | 
			
		||||
    pa_volume_t m;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -348,6 +348,10 @@ pa_volume_t pa_cvolume_get_position(pa_cvolume *cv, const pa_channel_map *map, p
 | 
			
		|||
 * and dest may point to the same structure. \since 0.9.16 */
 | 
			
		||||
pa_cvolume* pa_cvolume_merge(pa_cvolume *dest, const pa_cvolume *a, const pa_cvolume *b);
 | 
			
		||||
 | 
			
		||||
/** Increase the volume passed in by 'inc', but not exceeding 'limit'.
 | 
			
		||||
 * The proportions between the channels are kept. \since 0.9.19 */
 | 
			
		||||
pa_cvolume* pa_cvolume_inc_clamp(pa_cvolume *v, pa_volume_t inc, pa_volume_t limit);
 | 
			
		||||
 | 
			
		||||
/** Increase the volume passed in by 'inc'. The proportions between
 | 
			
		||||
 * the channels are kept. \since 0.9.16 */
 | 
			
		||||
pa_cvolume* pa_cvolume_inc(pa_cvolume *v, pa_volume_t inc);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue