1
mirror of https://github.com/mpv-player/mpv synced 2024-11-18 21:16:10 +01:00
mpv/libmpv
wm4 3dc0f2ecf0 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).
2015-11-09 20:51:57 +01:00
..
client.h client API: fix typo and wording in a comment 2015-10-22 19:36:38 +02:00
mpv.def vo_opengl_cb: deprecate mpv_opengl_cb_render() 2015-04-09 19:31:01 +02:00
mpv.pc.in build: add hacks to force waf to generate valid .pc files 2014-08-07 23:45:40 +02:00
opengl_cb.h vo_opengl_cb: make operation more similar to normal VOs 2015-11-09 20:51:57 +01:00
qthelper.hpp client API: qthelper: return NULL as handle if unset 2014-12-30 23:28:07 +01:00