summaryrefslogtreecommitdiffstats
path: root/video/out/opengl/video.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-11-09 20:49:30 +0100
committerwm4 <wm4@nowhere>2015-11-09 20:51:57 +0100
commit3dc0f2ecf033718a3a5d4b7acc41d144839fb7dc (patch)
treeb15f1ef53801fbcdb6819cd460f7217bf84127d1 /video/out/opengl/video.c
parenteeb5f987585b47b2d5828cac0f2d90e0c503ce4c (diff)
downloadmpv-3dc0f2ecf033718a3a5d4b7acc41d144839fb7dc.tar.bz2
mpv-3dc0f2ecf033718a3a5d4b7acc41d144839fb7dc.tar.xz
vo_opengl_cb: make operation more similar to normal VOs
vo_opengl_cb is a special case, because we somehow have to render video asynchronously, all while "trusting" the API user to do it correctly. This didn't quite work, and a while ago a compromise using a timeout to prevent theoretically possible deadlocks was added. Make it even more synchronous. Basically, go all the way, and synchronize rendering between VO and user renderer thread to the full extent possible. This means the silly frame queue is dropped, and we event attempt to synchronize the GL SwapBuffer call (via mpv_opengl_cb_report_flip()). The changes introduced with commit dc33eb56 are effectively dropped. I don't even remember if they mattered. In the future, we might make all VOs fetch asynchronously from a frame queue, which would mostly remove the differences between vo_opengl and vo_opengl_cb, but this will take a while (if it will even be done).
Diffstat (limited to 'video/out/opengl/video.c')
0 files changed, 0 insertions, 0 deletions