summaryrefslogtreecommitdiffstats
path: root/player
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-03-23 16:32:59 +0100
committerwm4 <wm4@nowhere>2015-03-23 16:32:59 +0100
commit167b75c50c673bc477d0b18b38cd1d20292ce8b8 (patch)
tree0c3143fa9cb40e25170cff23754a2a7dce1c8920 /player
parent67bdad9a43ba965b73e5914da2e46db8866dc14e (diff)
downloadmpv-167b75c50c673bc477d0b18b38cd1d20292ce8b8.tar.bz2
mpv-167b75c50c673bc477d0b18b38cd1d20292ce8b8.tar.xz
vo_opengl_cb: don't render OSD while VO is not created
Unlike other VOs, this rendered OSD even while no VO was created (because the renderer lives as long as the API user wants). Change this, and refactor the code so that the OSD object is accessible only while the VO is created. (There is a short time where the OSD can still be accessed even after VO destruction - this is not a race condition, though it's inelegant and unfortunately unavoidable.)
Diffstat (limited to 'player')
-rw-r--r--player/client.c2
-rw-r--r--player/client.h1
2 files changed, 1 insertions, 2 deletions
diff --git a/player/client.c b/player/client.c
index 3ed7ea620e..0285ec76b4 100644
--- a/player/client.c
+++ b/player/client.c
@@ -1685,7 +1685,7 @@ static mpv_opengl_cb_context *opengl_cb_get_context(mpv_handle *ctx)
{
mpv_opengl_cb_context *cb = ctx->mpctx->gl_cb_ctx;
if (!cb) {
- cb = mp_opengl_create(ctx->mpctx->global, ctx->mpctx->osd, ctx->clients);
+ cb = mp_opengl_create(ctx->mpctx->global, ctx->clients);
ctx->mpctx->gl_cb_ctx = cb;
}
return cb;
diff --git a/player/client.h b/player/client.h
index 656e3601cb..5bc3c770eb 100644
--- a/player/client.h
+++ b/player/client.h
@@ -42,7 +42,6 @@ struct mpv_opengl_cb_context;
struct mpv_global;
struct osd_state;
struct mpv_opengl_cb_context *mp_opengl_create(struct mpv_global *g,
- struct osd_state *osd,
struct mp_client_api *client_api);
void kill_video(struct mp_client_api *client_api);