\r
//glmutex.Unlock();\r
VPEOGLFrame *frame=NULL;\r
- struct timespec ts;\r
- ts.tv_sec=0;\r
- ts.tv_nsec=0;\r
+ int ts=0;\r
VideoVPEOGL* video =(VideoVPEOGL*) Video::getInstance();\r
while (true)\r
{\r
- ts.tv_nsec=10*1000000LL;\r
+ ts=10;\r
unsigned int waittime=10;\r
if (initted){\r
if (!frame) frame=video->getReadyOGLFrame();\r
}\r
frame=video->getReadyOGLFrame();\r
}\r
- if (frame) ts.tv_nsec=0;\r
+\r
+ if (frame) ts=0;\r
threadCheckExit();\r
- if (ts.tv_nsec!=0) threadWaitForSignalTimed(&ts);\r
+ if (ts!=0) {\r
+ struct timespec target_time;\r
+ clock_gettime(CLOCK_REALTIME,&target_time);\r
+ target_time.tv_nsec+=1000000LL*ts;\r
+ if (target_time.tv_nsec>999999999) {\r
+ target_time.tv_nsec-=1000000000L;\r
+ target_time.tv_sec+=1;\r
+ }\r
+ threadWaitForSignalTimed(&target_time);\r
+ }\r
//Sleep(1);\r
}\r
//eglMakeCurrent(egl_display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT );\r
dec_frame_libav_uploading=NULL;
dec_frame_libav_decoding=NULL;
ogl_frame_outside=false;
- //decoding_mode=VPE_NO_XVMC;
- decoding_mode=VPE_XVMC_MOCOMP;
+ decoding_mode=VPE_NO_XVMC;
+ //decoding_mode=VPE_XVMC_MOCOMP;
+ //decoding_mode=VPE_XVMC_IDCT;
framebuf_framenum=0;
#endif