Mercurial > mplayer.hg
diff mixer.c @ 12908:7b9b4f07d2c4
automatic loading of af_volume, original patch by Dan Christiansen (danchr (at) daimi (dot) au (dot) dk)
author | reimar |
---|---|
date | Wed, 28 Jul 2004 12:17:50 +0000 |
parents | 494d8a2a29d0 |
children | 75b84965d137 |
line wrap: on
line diff
--- a/mixer.c Wed Jul 28 08:48:08 2004 +0000 +++ b/mixer.c Wed Jul 28 12:17:50 2004 +0000 @@ -28,7 +28,8 @@ float db_vals[AF_NCH]; if (!af_control_any_rev(mixer->afilter, AF_CONTROL_VOLUME_LEVEL | AF_CONTROL_GET, db_vals)) - return; + db_vals[0] = db_vals[1] = 1.0; + else af_from_dB (2, db_vals, db_vals, 20.0, -200.0, 60.0); vol.left = db_vals[0] * 90.0; vol.right = db_vals[1] * 90.0; @@ -61,8 +62,14 @@ af_to_dB (AF_NCH, db_vals, db_vals, 20.0); if (!af_control_any_rev(mixer->afilter, AF_CONTROL_VOLUME_LEVEL | AF_CONTROL_SET, db_vals)) { - mp_msg(MSGT_GLOBAL, MSGL_HINT, MSGTR_NeedAfVolume); - return; + mp_msg(MSGT_GLOBAL, MSGL_INFO, MSGTR_InsertingAfVolume); + if (af_add(mixer->afilter, "volume")) { + if (!af_control_any_rev(mixer->afilter, + AF_CONTROL_VOLUME_LEVEL | AF_CONTROL_SET, db_vals)) { + mp_msg(MSGT_GLOBAL, MSGL_ERR, MSGTR_NoVolume); + return; + } + } } } }