if (full && omx_vid_stalled && !omx_first_frame) {
omx_vid_stalled=false;
Log::getInstance()->log("Video", Log::DEBUG, "Decoder is stalled, do a reset!");
+
+ int oldcancelstate;
+ int oldcanceltype;
+ pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &oldcancelstate);
+ pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &oldcanceltype);
+
clock_mutex.Lock();
FlushRenderingPipe();
omx_first_frame=true;
clock_mutex.Unlock();
+
+ pthread_setcancelstate(oldcancelstate, NULL);
+ pthread_setcanceltype(oldcanceltype, NULL);
}
return full;