diff options
author | Kacper Michajłow <kasper93@gmail.com> | 2024-01-25 21:03:51 +0100 |
---|---|---|
committer | Dudemanguy <random342@airmail.cc> | 2024-01-27 05:12:36 +0000 |
commit | dd491c7c61508d72e3694ffa743b64c8dd938eff (patch) | |
tree | 7c3ebcdcea7ff0a2e005d5771a224796ad894145 | |
parent | c243946338dcdcdbed9cfdc9d662d5612649932d (diff) | |
download | mpv-dd491c7c61508d72e3694ffa743b64c8dd938eff.tar.bz2 mpv-dd491c7c61508d72e3694ffa743b64c8dd938eff.tar.xz |
vo: change vo_frame duration to double
32-bit signed integer can hold ~2.1s stored as nanoseconds. While frame
duration doesn't make sense to be this long, the existing clamp is to
10s. Change type to double, which is consistent with other fields in
vo_frame.
-rw-r--r-- | player/video.c | 2 | ||||
-rw-r--r-- | video/out/vo.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/player/video.c b/player/video.c index 8599bbe702..6c93e1f576 100644 --- a/player/video.c +++ b/player/video.c @@ -1252,7 +1252,7 @@ void write_video(struct MPContext *mpctx) diff /= mpctx->video_speed; if (mpctx->time_frame < 0) diff += mpctx->time_frame; - frame->duration = MPCLAMP(diff, 0, 10) * 1e9; + frame->duration = MP_TIME_S_TO_NS(MPCLAMP(diff, 0, 10)); } mpctx->video_pts = mpctx->next_frames[0]->pts; diff --git a/video/out/vo.h b/video/out/vo.h index e9e2f02901..895d6039fe 100644 --- a/video/out/vo.h +++ b/video/out/vo.h @@ -211,7 +211,7 @@ struct vo_frame { // If 0, present immediately. int64_t pts; // Approximate frame duration, in ns. - int duration; + double duration; // Realtime of estimated distance between 2 vsync events. double vsync_interval; // "ideal" display time within the vsync |