2 #include "CaptureVideo.h"
8 /*----------------------------------------------------------------------*\
10 \*---------------------------------------------------------------------*/
12 /*--------------------------------------*\
14 \*-------------------------------------*/
16 /*--------------------------------------*\
18 \*-------------------------------------*/
20 /*----------------------------------------------------------------------*\
22 \*---------------------------------------------------------------------*/
24 /*--------------------------------------*\
26 \*-------------------------------------*/
28 /*------------------*\
33 * see doc of Capture_A constructor for cuda use (ptrHostMemory)
35 CaptureVideo::CaptureVideo(const string
& videoName
, const string
& title
, uchar4
* ptrHostMemory
) :
36 Capture_A(createStream(videoName
), title
, ptrHostMemory
)
38 //cout << "[CaptureVideo] : CaptureVideo" << endl;
39 this->videoName
= videoName
;
43 CaptureVideo::~CaptureVideo(void)
46 // delete ptrCaptureStream; in constructor
49 /*------------------*\
53 void CaptureVideo::printInfo(void)
55 Capture_A::printInfo();
57 cout
<< "\tvideo name = " << videoName
<< endl
;
61 cout
<< "\tfps(source) = " << fpsSource
<< endl
;
65 cout
<< "\tfps(source) = Inconnu" << endl
;
71 void CaptureVideo::readStream(VideoCapture
* ptrCaptureStream
, Mat
* ptrMatCaptureSrc
)
73 //cout << "[CaptureVideo] : readStream" << endl;
75 // plante si fin cideo
76 // (*ptrCaptureStream) >> (*ptrMatCaptureSrc);
79 // cout << "[CaptureVideo] : read : try" << endl;
80 bool isOk
= ptrCaptureStream
->read(*ptrMatCaptureSrc
);
81 // cout << "[CaptureVideo] : read : sucess" << endl;
83 bool isFinVideo
= !isOk
;
86 ptrCaptureStream
->set(CV_CAP_PROP_POS_FRAMES
, 0); // remise du lecteur à la position 0
87 ptrCaptureStream
->read(*ptrMatCaptureSrc
);
91 /*------------------*\
95 int CaptureVideo::dtOriginalMS()
100 int CaptureVideo::fpsOriginal()
105 /*------------------*\
107 \*-----------------*/
109 bool CaptureVideo::isFpsOriginalKnown()
111 return isFpsSourceConnu
;
114 string
CaptureVideo::getVideoName()
119 /*--------------------------------------*\
121 \*-------------------------------------*/
123 VideoCapture
* CaptureVideo::createStream(const string
& videoName
)
125 return new VideoCapture(videoName
);
128 void CaptureVideo::configure()
130 //cout << "[CaptureVideo] : configure" << endl;
132 //VideoCapture* ptrCaptureStream = getVideoCapture();
134 this->fpsSource
= ptrCaptureStream
->get(CV_CAP_PROP_FPS
); // TODO bug? always 1000 windows
136 // cout << "fps video source (" << videoName << ") = ";
140 this->isFpsSourceConnu
= true;
141 this->dtSourceMS
= 1000 / fpsSource
;
143 //cout << fps << endl << endl;
147 this->isFpsSourceConnu
= false;
148 this->dtSourceMS
= 0;
150 //cout << "fps unknown" << endl << endl;
154 /*----------------------------------------------------------------------*\
156 \*---------------------------------------------------------------------*/