summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY1
-rw-r--r--ovgosd.c6
2 files changed, 5 insertions, 2 deletions
diff --git a/HISTORY b/HISTORY
index ba51a17..934ae77 100644
--- a/HISTORY
+++ b/HISTORY
@@ -5,6 +5,7 @@ VDR Plugin 'rpihddevice' Revision History
- set device name
- add option for dual display usage, see README
- fixed:
+ - wait until dispmanx element is removed after OSD reset
- proper release default surface after OSD reset
- don't ignore anti alias option for scaled bitmap drawing
- ignore pts from erroneous packets to avoid pts jumps on broken streams
diff --git a/ovgosd.c b/ovgosd.c
index 6a155a9..347a605 100644
--- a/ovgosd.c
+++ b/ovgosd.c
@@ -1842,7 +1842,7 @@ protected:
if (eglMakeCurrent(egl.display, egl.surface, egl.surface,
egl.context) == EGL_FALSE)
- ELOG("failed to connect context to surface: %s!",
+ ELOG("[EGL] failed to connect context to surface: %s!",
cEgl::errStr(eglGetError()));
egl.currentSurface = egl.surface;
@@ -1883,14 +1883,16 @@ protected:
if (eglMakeCurrent(egl.display, EGL_NO_SURFACE, EGL_NO_SURFACE,
EGL_NO_CONTEXT) == EGL_FALSE)
- ELOG("failed to release active surface from context: %s!",
+ ELOG("[EGL] failed to release active surface from context: %s!",
cEgl::errStr(eglGetError()));
if (eglDestroySurface(egl.display, egl.surface) == EGL_FALSE)
ELOG("[EGL] failed to destroy surface: %s!",
cEgl::errStr(eglGetError()));
+ update = vc_dispmanx_update_start(0);
vc_dispmanx_element_remove(update, egl.window.element);
+ vc_dispmanx_update_submit_sync(update);
vc_dispmanx_display_close(display);
DLOG("cOvgThread() thread reset");