summaryrefslogtreecommitdiffstats
path: root/video/out/vo.c
diff options
context:
space:
mode:
authorxylosper <darklin20@gmail.com>2015-01-09 01:06:17 +0900
committerwm4 <wm4@nowhere>2015-01-08 18:50:25 +0100
commit5b4d587ede93d1e215f9dcb1bb24afc92492e676 (patch)
treec8321bcbb17fa16048cc202998efd1a4f8e708b8 /video/out/vo.c
parent348ea46537bc45c2d4520f1f8ac3f24271b67e0c (diff)
downloadmpv-5b4d587ede93d1e215f9dcb1bb24afc92492e676.tar.bz2
mpv-5b4d587ede93d1e215f9dcb1bb24afc92492e676.tar.xz
vo_opengl_cb: introduce frame queue
The previous implementation of opengl-cb kept only latest flipped frame. This can cause massive frame drops because rendering is done asynchronously and only the latest frame can be rendered. This commit introduces frame queue and releated options to opengl-cb. frame-queue-size: the maximum size of frame queue (1-100, default: 1) frame-drop-mode: behavior when frame queue is full (pop, clear, default: pop) The frame queue holds delayed frames and drops frames if the frame queue is overflowed with next method: 'pop' mode: drops all the oldest frames overflown. 'clear' mode: drops all frames in queue and clear it. With default options(frame-queue-size=1:frame-drop-mode=pop), opengl-cb behaves in the same way as previous implementation effectively. For frame-queue-size > 1, opengl-cb tries to calls update() without waiting next flip_page() in order to consume queued frames. Signed-off-by: wm4 <wm4@nowhere>
Diffstat (limited to 'video/out/vo.c')
0 files changed, 0 insertions, 0 deletions