diff options
-rw-r--r-- | input/input.c | 2 | ||||
-rw-r--r-- | mplayer.c | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/input/input.c b/input/input.c index 6265ae3eac..9c23ee9b2a 100644 --- a/input/input.c +++ b/input/input.c @@ -51,7 +51,7 @@ static mp_cmd_t mp_cmds[] = { { 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}} } }, @@ -2380,10 +2380,20 @@ if (stream->type==STREAMTYPE_DVDNAV && dvd_nav_still) } 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 |