diff --git a/src/audio/alsa/SDL_alsa_audio.c b/src/audio/alsa/SDL_alsa_audio.c index 1a84380f2..2b65e13fc 100644 --- a/src/audio/alsa/SDL_alsa_audio.c +++ b/src/audio/alsa/SDL_alsa_audio.c @@ -714,12 +714,15 @@ ALSA_DetectDevices(void) char *desc = ALSA_snd_device_name_get_hint(hints[i], "DESC"); char *ioid = ALSA_snd_device_name_get_hint(hints[i], "IOID"); - if ((ioid == NULL) || (SDL_strcmp(ioid, "Output") == 0)) { - add_device(SDL_FALSE, name, desc); - } + /* only want physical hardware interfaces */ + if (SDL_strncmp(name, "hw:", 3) == 0) { + if ((ioid == NULL) || (SDL_strcmp(ioid, "Output") == 0)) { + add_device(SDL_FALSE, name, desc); + } - if ((ioid == NULL) || (SDL_strcmp(ioid, "Input") == 0)) { - add_device(SDL_TRUE, name, desc); + if ((ioid == NULL) || (SDL_strcmp(ioid, "Input") == 0)) { + add_device(SDL_TRUE, name, desc); + } } free(name);