From d3111ee7775c8c7f56f2c68907a7fe2c6ee138be Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 30 Sep 2016 12:12:56 +0200 Subject: vo_opengl: rpi: raise the video layer Was intended to put the GL layer above the standard console. (But actually that was done already, and the oddness I'm seeing seems to be an unrelated bug.) --- video/out/opengl/context_rpi.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/video/out/opengl/context_rpi.c b/video/out/opengl/context_rpi.c index 3d102082eb..96c8199ef4 100644 --- a/video/out/opengl/context_rpi.c +++ b/video/out/opengl/context_rpi.c @@ -95,12 +95,14 @@ static void rpi_uninit(MPGLContext *ctx) static int recreate_dispmanx(struct MPGLContext *ctx) { struct priv *p = ctx->priv; + int display_nr = 0; + int layer = 0; MP_VERBOSE(ctx->vo, "Recreating DISPMANX state...\n"); destroy_dispmanx(ctx); - p->display = vc_dispmanx_display_open(0); + p->display = vc_dispmanx_display_open(display_nr); p->update = vc_dispmanx_update_start(0); if (!p->display || !p->update) { MP_FATAL(ctx->vo, "Could not get DISPMANX objects.\n"); @@ -139,8 +141,9 @@ static int recreate_dispmanx(struct MPGLContext *ctx) .flags = DISPMANX_FLAGS_ALPHA_FROM_SOURCE, .opacity = 0xFF, }; - p->window = vc_dispmanx_element_add(p->update, p->display, 1, &dst, 0, &src, - DISPMANX_PROTECTION_NONE, &alpha, 0, 0); + p->window = vc_dispmanx_element_add(p->update, p->display, layer, &dst, 0, + &src, DISPMANX_PROTECTION_NONE, &alpha, + 0, 0); if (!p->window) { MP_FATAL(ctx->vo, "Could not add DISPMANX element.\n"); goto fail; @@ -187,6 +190,8 @@ static int recreate_dispmanx(struct MPGLContext *ctx) } } + p->win_params[0] = display_nr; + p->win_params[1] = layer; p->win_params[2] = p->x; p->win_params[3] = p->y; -- cgit v1.2.3