mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	add a lot of validity checking
This commit is contained in:
		
							parent
							
								
									b51ed38116
								
							
						
					
					
						commit
						32e5e64921
					
				
					 3 changed files with 71 additions and 24 deletions
				
			
		| 
						 | 
				
			
			@ -448,6 +448,9 @@ int pa_channel_map_equal(const pa_channel_map *a, const pa_channel_map *b) {
 | 
			
		|||
    pa_assert(a);
 | 
			
		||||
    pa_assert(b);
 | 
			
		||||
 | 
			
		||||
    pa_return_val_if_fail(pa_channel_map_valid(a), 0);
 | 
			
		||||
    pa_return_val_if_fail(pa_channel_map_valid(b), 0);
 | 
			
		||||
 | 
			
		||||
    if (a->channels != b->channels)
 | 
			
		||||
        return 0;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -617,11 +620,8 @@ int pa_channel_map_compatible(const pa_channel_map *map, const pa_sample_spec *s
 | 
			
		|||
    pa_assert(map);
 | 
			
		||||
    pa_assert(ss);
 | 
			
		||||
 | 
			
		||||
    if (!pa_channel_map_valid(map))
 | 
			
		||||
        return 0;
 | 
			
		||||
 | 
			
		||||
    if (!pa_sample_spec_valid(ss))
 | 
			
		||||
        return 0;
 | 
			
		||||
    pa_return_val_if_fail(pa_channel_map_valid(map), 0);
 | 
			
		||||
    pa_return_val_if_fail(pa_sample_spec_valid(ss), 0);
 | 
			
		||||
 | 
			
		||||
    return map->channels == ss->channels;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -633,6 +633,9 @@ int pa_channel_map_superset(const pa_channel_map *a, const pa_channel_map *b) {
 | 
			
		|||
    pa_assert(a);
 | 
			
		||||
    pa_assert(b);
 | 
			
		||||
 | 
			
		||||
    pa_return_val_if_fail(pa_channel_map_valid(a), 0);
 | 
			
		||||
    pa_return_val_if_fail(pa_channel_map_valid(b), 0);
 | 
			
		||||
 | 
			
		||||
    memset(in_a, 0, sizeof(in_a));
 | 
			
		||||
 | 
			
		||||
    for (i = 0; i < a->channels; i++)
 | 
			
		||||
| 
						 | 
				
			
			@ -651,6 +654,8 @@ int pa_channel_map_can_balance(const pa_channel_map *map) {
 | 
			
		|||
 | 
			
		||||
    pa_assert(map);
 | 
			
		||||
 | 
			
		||||
    pa_return_val_if_fail(pa_channel_map_valid(map), 0);
 | 
			
		||||
 | 
			
		||||
    for (c = 0; c < map->channels; c++) {
 | 
			
		||||
 | 
			
		||||
        switch (map->map[c]) {
 | 
			
		||||
| 
						 | 
				
			
			@ -687,6 +692,10 @@ int pa_channel_map_can_fade(const pa_channel_map *map) {
 | 
			
		|||
    unsigned c;
 | 
			
		||||
    pa_bool_t front = FALSE, rear = FALSE;
 | 
			
		||||
 | 
			
		||||
    pa_assert(map);
 | 
			
		||||
 | 
			
		||||
    pa_return_val_if_fail(pa_channel_map_valid(map), 0);
 | 
			
		||||
 | 
			
		||||
    for (c = 0; c < map->channels; c++) {
 | 
			
		||||
 | 
			
		||||
        switch (map->map[c]) {
 | 
			
		||||
| 
						 | 
				
			
			@ -727,6 +736,8 @@ const char* pa_channel_map_to_name(const pa_channel_map *map) {
 | 
			
		|||
 | 
			
		||||
    pa_assert(map);
 | 
			
		||||
 | 
			
		||||
    pa_return_val_if_fail(pa_channel_map_valid(map), NULL);
 | 
			
		||||
 | 
			
		||||
    memset(in_map, 0, sizeof(in_map));
 | 
			
		||||
 | 
			
		||||
    for (c = 0; c < map->channels; c++)
 | 
			
		||||
| 
						 | 
				
			
			@ -779,6 +790,8 @@ const char* pa_channel_map_to_pretty_name(const pa_channel_map *map) {
 | 
			
		|||
 | 
			
		||||
    pa_assert(map);
 | 
			
		||||
 | 
			
		||||
    pa_return_val_if_fail(pa_channel_map_valid(map), NULL);
 | 
			
		||||
 | 
			
		||||
    memset(in_map, 0, sizeof(in_map));
 | 
			
		||||
 | 
			
		||||
    for (c = 0; c < map->channels; c++)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue