# HG changeset patch # User cladisch # Date 1249551790 0 # Node ID 4537ed655f0b9453c93e5d99f8ac4a3f35fa259b # Parent 9b2014f09534fc8403547bea3adb655dfe46a429 Do not leak the mixer handle if setting of a volume fails. diff -r 9b2014f09534 -r 4537ed655f0b libao2/ao_alsa.c --- a/libao2/ao_alsa.c Wed Aug 05 23:16:21 2009 +0000 +++ b/libao2/ao_alsa.c Thu Aug 06 09:43:10 2009 +0000 @@ -209,6 +209,7 @@ if ((err = snd_mixer_selem_set_playback_volume(elem, SND_MIXER_SCHN_FRONT_LEFT, set_vol)) < 0) { mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_ErrorSettingLeftChannel, snd_strerror(err)); + snd_mixer_close(handle); return CONTROL_ERROR; } mp_msg(MSGT_AO,MSGL_DBG2,"left=%li, ", set_vol); @@ -218,6 +219,7 @@ if ((err = snd_mixer_selem_set_playback_volume(elem, SND_MIXER_SCHN_FRONT_RIGHT, set_vol)) < 0) { mp_msg(MSGT_AO,MSGL_ERR,MSGTR_AO_ALSA_ErrorSettingRightChannel, snd_strerror(err)); + snd_mixer_close(handle); return CONTROL_ERROR; } mp_msg(MSGT_AO,MSGL_DBG2,"right=%li, pmin=%li, pmax=%li, mult=%f\n",