From 77bac5b5507e04d6a31bb4387af79105fc3869b9 Mon Sep 17 00:00:00 2001 From: Oliver Freyermuth Date: Fri, 8 Jan 2016 20:36:23 +0100 Subject: player: implement SWITCH for dvb-channel-name property, add binding. The binding is similar to the tv-binding, just with capital letters. Switching the dvb-channel-name property compared to dvb-channel means the channel-name is shown on-screen when switching instead of "dvb-channel (error)" otherwise, and switching anyways happens without changing the card. --- etc/input.conf | 4 ++++ player/command.c | 8 ++++++++ 2 files changed, 12 insertions(+) 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); } -- cgit v1.2.3