summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2013-12-22 18:42:19 +0100
committerwm4 <wm4@nowhere>2013-12-22 18:42:19 +0100
commit79b09592c8a1eb348361c84e2c3835f42e35a224 (patch)
tree19598380256c53a5406e875556ae2fc73b00bff5
parent895932aa0a33a71b49b4668b5bed884d0ebf39e4 (diff)
downloadmpv-79b09592c8a1eb348361c84e2c3835f42e35a224.tar.bz2
mpv-79b09592c8a1eb348361c84e2c3835f42e35a224.tar.xz
vo_vdpau: fix unintended truncation of 64 bit timestamps to 32 bit
How embarrassing... This code is inactive for all VOs other than vo_vdpau. For vo_vdpau, this caused various issues, such as stuttering after about an hour of running mpv; see github issue #403.
-rw-r--r--video/out/vo.c2
-rw-r--r--video/out/vo.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/video/out/vo.c b/video/out/vo.c
index 9a98ebafb6..99efc9eec9 100644
--- a/video/out/vo.c
+++ b/video/out/vo.c
@@ -262,7 +262,7 @@ void vo_draw_osd(struct vo *vo, struct osd_state *osd)
vo->driver->draw_osd(vo, osd);
}
-void vo_flip_page(struct vo *vo, unsigned int pts_us, int duration)
+void vo_flip_page(struct vo *vo, int64_t pts_us, int duration)
{
if (!vo->config_ok)
return;
diff --git a/video/out/vo.h b/video/out/vo.h
index 2d3e507213..351dd3f0ae 100644
--- a/video/out/vo.h
+++ b/video/out/vo.h
@@ -292,7 +292,7 @@ int vo_get_buffered_frame(struct vo *vo, bool eof);
void vo_skip_frame(struct vo *vo);
void vo_new_frame_imminent(struct vo *vo);
void vo_draw_osd(struct vo *vo, struct osd_state *osd);
-void vo_flip_page(struct vo *vo, unsigned int pts_us, int duration);
+void vo_flip_page(struct vo *vo, int64_t pts_us, int duration);
void vo_check_events(struct vo *vo);
void vo_seek_reset(struct vo *vo);
void vo_destroy(struct vo *vo);