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