diff --git a/spa/plugins/alsa/alsa-pcm-device.c b/spa/plugins/alsa/alsa-pcm-device.c index 99ec29818..285a76f28 100644 --- a/spa/plugins/alsa/alsa-pcm-device.c +++ b/spa/plugins/alsa/alsa-pcm-device.c @@ -540,6 +540,8 @@ impl_init(const struct spa_handle_factory *factory, reset_props(&this->props); + snd_config_update_free_global(); + if (info && (str = spa_dict_lookup(info, SPA_KEY_API_ALSA_PATH))) snprintf(this->props.device, 64, "%s", str); diff --git a/spa/plugins/alsa/alsa-pcm-sink.c b/spa/plugins/alsa/alsa-pcm-sink.c index b35becba5..3176b7703 100644 --- a/spa/plugins/alsa/alsa-pcm-sink.c +++ b/spa/plugins/alsa/alsa-pcm-sink.c @@ -758,6 +758,8 @@ impl_init(const struct spa_handle_factory *factory, spa_list_init(&this->ready); + snd_config_update_free_global(); + for (i = 0; info && i < info->n_items; i++) { if (!strcmp(info->items[i].key, SPA_KEY_API_ALSA_PATH)) { snprintf(this->props.device, 63, "%s", info->items[i].value); diff --git a/spa/plugins/alsa/alsa-pcm-source.c b/spa/plugins/alsa/alsa-pcm-source.c index 3f748c9d4..4be8dc846 100644 --- a/spa/plugins/alsa/alsa-pcm-source.c +++ b/spa/plugins/alsa/alsa-pcm-source.c @@ -779,6 +779,8 @@ impl_init(const struct spa_handle_factory *factory, spa_list_init(&this->free); spa_list_init(&this->ready); + snd_config_update_free_global(); + for (i = 0; info && i < info->n_items; i++) { if (!strcmp(info->items[i].key, SPA_KEY_API_ALSA_PATH)) { snprintf(this->props.device, 63, "%s", info->items[i].value);