00001 /************************************************************************ 00002 frameServer.cpp - Copyright rob 00003 00004 **************************************************************************/ 00005 00006 #include "frameServer.h" 00007 00008 // Constructors/Destructors 00009 // 00010 00011 frameServer::frameServer ( ) { 00012 timeInt = 0; 00013 capStatus = 0; 00014 lastFrame = 0; 00015 connect(&m_timer, SIGNAL(timeout()), this, SLOT(obtain_frame())); 00016 00017 } 00018 00019 frameServer::~frameServer ( ) { } 00020 00021 // 00022 // Methods 00023 // 00024 00028 void frameServer::restart ( ) { 00029 00030 } 00031 00032 void frameServer::togglePause() 00033 { 00034 qtfp.togglePause(); 00035 00036 } 00037 00038 void frameServer::startCapture() 00039 { 00040 capStatus = 1; 00041 if (timeInt != 0) 00042 { 00043 m_timer.start(timeInt); 00044 } 00045 } 00046 00047 void frameServer::stopCapture() 00048 { 00049 capStatus = 0; 00050 m_timer.stop(); 00051 } 00052 00053 void frameServer::setCaptureRate(int ms) 00054 { 00055 timeInt = ms; 00056 if ( capStatus ) 00057 { 00058 stopCapture(); 00059 startCapture(); 00060 } 00061 } 00062 00063 void frameServer::obtain_frame() 00064 { 00065 currentFrame = qtfp.grabFrame(); 00066 if ( !currentFrame->isNull() ) 00067 emit frameReady( currentFrame ); 00068 if (lastFrame) delete lastFrame; 00069 lastFrame=currentFrame; 00070 } 00071 00072 QImage* frameServer::getFrame( ) 00073 { 00074 return currentFrame; 00075 } 00076 00077 int frameServer::attachSource(QString *sourceName) 00078 { 00079 qtfp.input_filename = *sourceName; 00080 int ret = qtfp.init(); 00081 return(ret); 00082 }
1.4.7