void step(const boost::system::error_code &e) { if (e) return; if (cv::waitKey(1) >= 0) { utils::stopAllServices(); return; } // get frame //int64_t now = mTimer.getTime() - mPlayTime; //ZZLAB_STEP(); //AVFrame* frame = videoFrameQ.dequeue(now); //if (frame) //{ // //ZZLAB_TRACE_VALUE(frame); // //cv::Mat1b gray(frame->height, frame->width, frame->data[0], frame->linesize[0]); // //cv::Mat3b img; // //cv::cvtColor(gray, img, CV_GRAY2BGR); // //cv::imshow("Image", img); // //av_frame_free(&frame); // { // delete[] frame->data[0]; // delete frame; // } //} mUITimer.expires_from_now(boost::posix_time::milliseconds(10)); mUITimer.async_wait(boost::bind(&Test0::step, this, boost::asio::placeholders::error)); }
void refresh_timeout_timer() { timeout_timer.cancel(); timeout_timer.expires_from_now(posix_time::milliseconds(1000)); timeout_timer.async_wait([&](const boost::system::error_code& e){ // function to be run at timeout timeout(e); }); return; }
void start_timer() { timer.expires_from_now(boost::posix_time::milliseconds(100)); timer.async_wait([this] (const asio::error_code &err) { if (err) { LOG(ERROR) << "Timer error: " << err; return; } sys_check_timeouts(); start_timer(); }); }