diff -ubr -X ../exclude ../MPlayer-0.90pre6/input/input.c ./input/input.c --- ../MPlayer-0.90pre6/input/input.c Sat Aug 3 22:18:41 2002 +++ ./input/input.c Thu Aug 15 20:49:59 2002 @@ -51,7 +51,7 @@ { MP_CMD_PLAY_ALT_SRC_STEP, "alt_src_step",1, { { MP_CMD_ARG_INT,{0} }, {-1,{0}} } }, { MP_CMD_SUB_DELAY, "sub_delay",1, { {MP_CMD_ARG_FLOAT,{0}}, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } }, { MP_CMD_OSD, "osd",0, { {MP_CMD_ARG_INT,{-1}}, {-1,{0}} } }, - { MP_CMD_VOLUME, "volume", 1, { { MP_CMD_ARG_INT,{0} }, {-1,{0}} } }, + { MP_CMD_VOLUME, "volume", 1, { { MP_CMD_ARG_INT,{0} }, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } }, { MP_CMD_MIXER_USEMASTER, "use_master", 0, { {-1,{0}} } }, { MP_CMD_MUTE, "mute", 0, { {-1,{0}} } }, { MP_CMD_CONTRAST, "contrast",1, { {MP_CMD_ARG_INT,{0}}, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } }, diff -ubr -X ../exclude ../MPlayer-0.90pre6/mplayer.c ./mplayer.c --- ../MPlayer-0.90pre6/mplayer.c Fri Aug 9 01:17:08 2002 +++ ./mplayer.c Thu Aug 15 20:55:09 2002 @@ -2426,10 +2426,20 @@ } break; case MP_CMD_VOLUME : { int v = cmd->args[0].v.i; + + // start change for absolute volume value + int abs = (cmd->nargs > 1) ? cmd->args[1].v.i : 0; + + if( abs ) + { + mixer_setvolume( (float)v, (float)v ); + } else { if(v > 0) mixer_incvolume(); else mixer_decvolume(); + } + #ifdef USE_OSD if(osd_level){ osd_visible=sh_video->fps; // 1 sec @@ -2441,7 +2451,6 @@ } break; case MP_CMD_MUTE: { mixer_mute(); - break; } case MP_CMD_LOADFILE : { play_tree_t* e = play_tree_new();