aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRainer Hochecker <fernetmenta@online.de>2014-09-25 13:07:59 +0200
committerRainer Hochecker <fernetmenta@online.de>2014-09-28 13:54:53 +0200
commitf487af5dccfb35acbec5983c2cc38d789f357606 (patch)
tree6db3945eaa0c7632b04a94566870afa631ce86e8
parent0abf356f8d5f1108682578c4f081d4644bc6dc13 (diff)
vaapi: lock display when calling vaPutSurface
-rw-r--r--xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp3
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);