diff --git a/etc/input.conf b/etc/input.conf index 8c923e10e7..b4438bbcae 100644 --- a/etc/input.conf +++ b/etc/input.conf @@ -166,6 +166,10 @@ #h cycle tv-channel -1 # previous channel #k cycle tv-channel +1 # next channel +# For dvb:// +#H cycle dvb-channel-name -1 # previous channel +#K cycle dvb-channel-name +1 # next channel + # # Legacy bindings (may or may not be removed in the future) # diff --git a/player/command.c b/player/command.c index a76ae6cf3c..5355363920 100644 --- a/player/command.c +++ b/player/command.c @@ -3008,6 +3008,14 @@ static int mp_property_dvb_channel_name(void *ctx, struct m_property *prop, if (r == M_PROPERTY_OK && !mpctx->stop_play) mpctx->stop_play = PT_RELOAD_FILE; return r; + case M_PROPERTY_SWITCH: { + struct m_property_switch_arg *sa = arg; + int dir = sa->inc >= 0 ? 1 : -1; + r = prop_stream_ctrl(mpctx, STREAM_CTRL_DVB_STEP_CHANNEL, &dir); + if (r == M_PROPERTY_OK && !mpctx->stop_play) + mpctx->stop_play = PT_RELOAD_FILE; + return r; + } case M_PROPERTY_GET: { return prop_stream_ctrl(mpctx, STREAM_CTRL_DVB_GET_CHANNEL_NAME, arg); }