summaryrefslogtreecommitdiffstats
path: root/libao2
diff options
context:
space:
mode:
authorcladisch <cladisch@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-08-06 09:43:10 +0000
committercladisch <cladisch@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-08-06 09:43:10 +0000
commit806d0c21c21b407c7f505111ef32cea7361a58b9 (patch)
treef23c980b1e302bf91da8264997025c5c71dd5e37 /libao2
parent17cf1efa12b60867b3d7eb5b5a776b8d926afccb (diff)
downloadmpv-806d0c21c21b407c7f505111ef32cea7361a58b9.tar.bz2
mpv-806d0c21c21b407c7f505111ef32cea7361a58b9.tar.xz
Do not leak the mixer handle if setting of a volume fails.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29478 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libao2')
-rw-r--r--libao2/ao_alsa.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libao2/ao_alsa.c b/libao2/ao_alsa.c
index cc80b0ded3..491a5861c6 100644
--- a/libao2/ao_alsa.c
+++ b/libao2/ao_alsa.c
@@ -209,6 +209,7 @@ static int control(int cmd, void *arg)
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 @@ static int control(int cmd, void *arg)
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",