On X11, a VA display is dependent on the display returned by XOpenDisplay,
vaPutSurface maybe accesses this display. So the same access mechanism is needed
for vaPutSurface and other Xlib funtion calls. Another way is to call XInitThreads
before XOpenDisplay.
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
(test_clip==0)?0:2,
display_field);
#else
+ if (check_event) {
+ pthread_mutex_lock(&gmutex);
+ }
vaStatus = vaPutSurface(va_dpy, surface_id, draw,
0,0,surface_width,surface_height,
0,0,width,height,
(test_clip==0)?NULL:&cliprects[0],
(test_clip==0)?0:2,
display_field);
+ if (check_event) {
+ pthread_mutex_unlock(&gmutex);
+ }
#endif
CHECK_VASTATUS(vaStatus,"vaPutSurface");