Index: mixer.c =================================================================== RCS file: /cvsroot/mplayer/main/mixer.c,v retrieving revision 1.17 diff -u -r1.17 mixer.c --- mixer.c 26 Jun 2004 12:47:00 -0000 1.17 +++ mixer.c 24 Jul 2004 21:31:32 -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; + } + } } } } Index: help/help_mp-en.h =================================================================== RCS file: /cvsroot/mplayer/main/help/help_mp-en.h,v retrieving revision 1.121 diff -u -r1.121 help_mp-en.h --- help/help_mp-en.h 6 Jul 2004 11:14:29 -0000 1.121 +++ help/help_mp-en.h 24 Jul 2004 21:31:36 -0000 @@ -368,7 +368,8 @@ // x11_common.c #define MSGTR_EwmhFullscreenStateFailed "\nX11: Couldn't send EWMH fullscreen Event!\n" -#define MSGTR_NeedAfVolume "Mixer: This audio output driver needs \"-af volume\" for changing volume.\n" +#define MSGTR_InsertingAfVolume "[Mixer] No hardware mixing, inserting volume filter.\n" +#define MSGTR_NoVolume "[Mixer] No volume control available.\n" // ====================== GUI messages/buttons ========================