diff options
author | Thomas Reufer <thomas@reufer.ch> | 2016-02-17 14:53:40 +0100 |
---|---|---|
committer | Thomas Reufer <thomas@reufer.ch> | 2016-02-17 14:53:40 +0100 |
commit | f77d07a3730d17c2fab9662b7336c78508897c36 (patch) | |
tree | e6b30242ac6bbd71422321c04a896c8dd537655d | |
parent | d7e51e632dca438ccecf4bfae8050f5865b7b490 (diff) | |
download | vdr-plugin-rpihddevice-f77d07a3730d17c2fab9662b7336c78508897c36.tar.gz vdr-plugin-rpihddevice-f77d07a3730d17c2fab9662b7336c78508897c36.tar.bz2 |
wait until dispmanx element is removed after OSD reset
-rw-r--r-- | HISTORY | 1 | ||||
-rw-r--r-- | ovgosd.c | 6 |
2 files changed, 5 insertions, 2 deletions
@@ -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 @@ -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"); |