diff --git a/libao2/ao_alsa1x.c b/libao2/ao_alsa1x.c index 6764068ae7..41eae11038 100644 --- a/libao2/ao_alsa1x.c +++ b/libao2/ao_alsa1x.c @@ -155,6 +155,9 @@ static int init(int rate_hz, int channels, int format, int flags) return(0); } + if (ao_subdevice != NULL) + alsa_device = ao_subdevice; + if (alsa_device == NULL) { if ((alsa_device = malloc(ALSA_DEVICE_SIZE)) == NULL) diff --git a/libao2/ao_alsa9.c b/libao2/ao_alsa9.c index 6764068ae7..41eae11038 100644 --- a/libao2/ao_alsa9.c +++ b/libao2/ao_alsa9.c @@ -155,6 +155,9 @@ static int init(int rate_hz, int channels, int format, int flags) return(0); } + if (ao_subdevice != NULL) + alsa_device = ao_subdevice; + if (alsa_device == NULL) { if ((alsa_device = malloc(ALSA_DEVICE_SIZE)) == NULL)