diff options
author | xylosper <darklin20@gmail.com> | 2015-01-09 01:06:17 +0900 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-01-08 18:50:25 +0100 |
commit | 5b4d587ede93d1e215f9dcb1bb24afc92492e676 (patch) | |
tree | c8321bcbb17fa16048cc202998efd1a4f8e708b8 /video/out/aspect.c | |
parent | 348ea46537bc45c2d4520f1f8ac3f24271b67e0c (diff) | |
download | mpv-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/aspect.c')
0 files changed, 0 insertions, 0 deletions