command: add display-fps property

Requested. Untested; leaving that to the users.
This commit is contained in:
wm4 2015-03-10 14:50:56 +01:00
parent eff265c140
commit 574bd127ec
2 changed files with 24 additions and 1 deletions

View File

@ -1339,6 +1339,13 @@ Property list
Names of the displays that the mpv window covers. On X11, these
are the xrandr names (LVDS1, HDMI1, DP1, VGA1, etc.).
``display-fps``
The refresh rate of the current display. Currently, this is the lowest FPS
of any display covered by the video, as retrieved by the underlying system
APIs (e.g. xrandr on X11). It is not the measured FPS or the FPS set with
``--display-fps``. It's not necessarily available on all platforms. Note
that any of the listed facts may change any time without a warning.
``video-aspect`` (RW)
Video aspect, see ``--video-aspect``.

View File

@ -2600,6 +2600,21 @@ static int mp_property_win_minimized(void *ctx, struct m_property *prop,
return m_property_flag_ro(action, arg, state & VO_WIN_STATE_MINIMIZED);
}
static int mp_property_display_fps(void *ctx, struct m_property *prop,
int action, void *arg)
{
MPContext *mpctx = ctx;
struct vo *vo = mpctx->video_out;
if (!vo)
return M_PROPERTY_UNAVAILABLE;
double fps = 0;
if (vo_control(vo, VOCTRL_GET_DISPLAY_FPS, &fps) < 1 || fps <= 0)
return M_PROPERTY_UNAVAILABLE;
return m_property_double_ro(action, arg, fps);
}
static int mp_property_display_names(void *ctx, struct m_property *prop,
int action, void *arg)
{
@ -3507,6 +3522,7 @@ static const struct m_property mp_properties[] = {
{"window-minimized", mp_property_win_minimized},
{"display-names", mp_property_display_names},
{"display-fps", mp_property_display_fps},
{"mpv-version", mp_property_version},
{"mpv-configuration", mp_property_configuration},
@ -3550,7 +3566,7 @@ static const char *const *const mp_event_property_change[] = {
E(MP_EVENT_CACHE_UPDATE, "cache", "cache-free", "cache-used", "cache-idle",
"demuxer-cache-duration", "demuxer-cache-idle", "paused-for-cache"),
E(MP_EVENT_WIN_RESIZE, "window-scale"),
E(MP_EVENT_WIN_STATE, "window-minimized", "display-names"),
E(MP_EVENT_WIN_STATE, "window-minimized", "display-names", "display-fps"),
E(MP_EVENT_AUDIO_DEVICES, "audio-device-list"),
E(MP_EVENT_DETECTED_AUDIO_DEVICE, "audio-out-detected-device"),
};