diff options
author | Rainer Hochecker <fernetmenta@online.de> | 2014-09-25 13:07:59 +0200 |
---|---|---|
committer | Rainer Hochecker <fernetmenta@online.de> | 2014-09-28 13:54:53 +0200 |
commit | f487af5dccfb35acbec5983c2cc38d789f357606 (patch) | |
tree | 6db3945eaa0c7632b04a94566870afa631ce86e8 | |
parent | 0abf356f8d5f1108682578c4f081d4644bc6dc13 (diff) |
vaapi: lock display when calling vaPutSurface
-rw-r--r-- | xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp index 3cbc681ae0..e0ba814107 100644 --- a/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp +++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp @@ -1832,6 +1832,7 @@ CVaapiRenderPicture* COutput::ProcessPicture(CVaapiProcessedPicture &pic) if (!CheckSuccess(vaSyncSurface(m_config.dpy, pic.videoSurface))) return NULL; + XLockDisplay(m_Display); if (!CheckSuccess(vaPutSurface(m_config.dpy, pic.videoSurface, retPic->pixmap, @@ -1844,6 +1845,8 @@ CVaapiRenderPicture* COutput::ProcessPicture(CVaapiProcessedPicture &pic) { return NULL; } + XUnlockDisplay(m_Display); + XSync(m_config.x11dsp, false); glEnable(m_textureTarget); glBindTexture(m_textureTarget, retPic->texture); |