mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	alsa-mixer: Make sure unsupported paths are removed after probing
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
This commit is contained in:
		
							parent
							
								
									2c652b43f9
								
							
						
					
					
						commit
						43a705ae18
					
				
					 1 changed files with 20 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -4224,6 +4224,23 @@ static snd_pcm_t* mapping_open_pcm(pa_alsa_mapping *m,
 | 
			
		|||
                              &try_buffer_size, 0, NULL, NULL, TRUE);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void paths_drop_unsupported(pa_hashmap* h) {
 | 
			
		||||
 | 
			
		||||
    void* state = NULL;
 | 
			
		||||
    const void* key;
 | 
			
		||||
    pa_alsa_path* p;
 | 
			
		||||
 | 
			
		||||
    pa_assert(h);
 | 
			
		||||
    p = pa_hashmap_iterate(h, &state, &key);
 | 
			
		||||
    while (p) {
 | 
			
		||||
        if (p->supported <= 0) {
 | 
			
		||||
            pa_hashmap_remove(h, key);
 | 
			
		||||
            pa_alsa_path_free(p);
 | 
			
		||||
        }
 | 
			
		||||
        p = pa_hashmap_iterate(h, &state, &key);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void pa_alsa_profile_set_probe(
 | 
			
		||||
        pa_alsa_profile_set *ps,
 | 
			
		||||
        const char *dev_id,
 | 
			
		||||
| 
						 | 
				
			
			@ -4319,6 +4336,9 @@ void pa_alsa_profile_set_probe(
 | 
			
		|||
            mapping_free(m);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    paths_drop_unsupported(ps->input_paths);
 | 
			
		||||
    paths_drop_unsupported(ps->output_paths);
 | 
			
		||||
 | 
			
		||||
    ps->probed = TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue