mirror of
https://github.com/mpv-player/mpv
synced 2025-01-03 05:22:23 +00:00
command: display-fps is the display FPS as assumed by the VO
Requested change in behavior. Note that we set the assumed "infinite" display_fps to 1e6, which conveniently lets vo_get_vsync_interval() return a dummy value of 1, which can be easily checked against, and still avoids doing math with float INFs.
This commit is contained in:
parent
209f8225ed
commit
9a7fc55607
@ -1342,9 +1342,9 @@ Property list
|
||||
``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.
|
||||
APIs (e.g. xrandr on X11). It is not the measured 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``.
|
||||
|
@ -2601,18 +2601,18 @@ static int mp_property_win_minimized(void *ctx, struct m_property *prop,
|
||||
}
|
||||
|
||||
static int mp_property_display_fps(void *ctx, struct m_property *prop,
|
||||
int action, void *arg)
|
||||
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)
|
||||
int64_t interval = vo_get_vsync_interval(vo);
|
||||
if (interval <= 1)
|
||||
return M_PROPERTY_UNAVAILABLE;
|
||||
|
||||
return m_property_double_ro(action, arg, fps);
|
||||
return m_property_double_ro(action, arg, 1e6 / interval);
|
||||
}
|
||||
|
||||
static int mp_property_display_names(void *ctx, struct m_property *prop,
|
||||
|
@ -312,7 +312,7 @@ static void update_display_fps(struct vo *vo)
|
||||
|
||||
pthread_mutex_unlock(&in->lock);
|
||||
|
||||
double display_fps = 1000.0; // assume infinite if unset
|
||||
double display_fps = 1e6; // assume infinite if unset
|
||||
if (vo->global->opts->frame_drop_fps > 0) {
|
||||
display_fps = vo->global->opts->frame_drop_fps;
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user