diff options
| author | Thomas Reufer <thomas@reufer.ch> | 2016-02-16 18:51:55 +0100 |
|---|---|---|
| committer | Thomas Reufer <thomas@reufer.ch> | 2016-02-16 18:51:55 +0100 |
| commit | d7e51e632dca438ccecf4bfae8050f5865b7b490 (patch) | |
| tree | d774cef66352a390a8e1d50c62db38eecdf635f2 | |
| parent | 51e8d1cd2b1242fa13acad322a51844cbb8d5d6c (diff) | |
| download | vdr-plugin-rpihddevice-d7e51e632dca438ccecf4bfae8050f5865b7b490.tar.gz vdr-plugin-rpihddevice-d7e51e632dca438ccecf4bfae8050f5865b7b490.tar.bz2 | |
proper release default surface after OSD reset
| -rw-r--r-- | HISTORY | 1 | ||||
| -rw-r--r-- | ovgosd.c | 7 |
2 files changed, 7 insertions, 1 deletions
@@ -5,6 +5,7 @@ VDR Plugin 'rpihddevice' Revision History - set device name - add option for dual display usage, see README - fixed: + - 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 - use omxplayer's parameters for deinterlacer @@ -1841,7 +1841,7 @@ protected: cEgl::errStr(eglGetError())); if (eglMakeCurrent(egl.display, egl.surface, egl.surface, - egl.context) == EGL_FALSE) + egl.context) == EGL_FALSE) ELOG("failed to connect context to surface: %s!", cEgl::errStr(eglGetError())); @@ -1881,6 +1881,11 @@ 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!", + cEgl::errStr(eglGetError())); + if (eglDestroySurface(egl.display, egl.surface) == EGL_FALSE) ELOG("[EGL] failed to destroy surface: %s!", cEgl::errStr(eglGetError())); |
