added test to for when initialization fails

This commit is contained in:
lostjared
2017-03-06 10:35:09 -08:00
parent fa2ab61b52
commit 7a07deb205
3 changed files with 9 additions and 3 deletions

View File

@@ -386,7 +386,8 @@ bool AC_MainWindow::startCamera(int res, int dev, const QString &outdir, bool re
file_new_capture->setEnabled(false);
file_new_video->setEnabled(false);
controls_stop->setEnabled(true);
playback->setVideoCamera(dev, res, writer, recording);
bool rt_val = playback->setVideoCamera(dev, res, writer, recording);
if(rt_val == false) return false;
playback->Play();
disp->show();
return true;

View File

@@ -29,13 +29,17 @@ void Playback::setVideo(cv::VideoCapture cap, cv::VideoWriter wr, bool record) {
mutex.unlock();
}
void Playback::setVideoCamera(int device, int res, cv::VideoWriter wr, bool record) {
bool Playback::setVideoCamera(int device, int res, cv::VideoWriter wr, bool record) {
mode = MODE_CAMERA;
mutex.lock();
if(capture.isOpened()) {
} else {
capture.open(device);
if(!capture.isOpened()) {
mutex.unlock();
return false;
}
}
recording = record;
writer = wr;
@@ -63,6 +67,7 @@ void Playback::setVideoCamera(int device, int res, cv::VideoWriter wr, bool reco
capture.set(CV_CAP_PROP_FRAME_HEIGHT, res_h);
}
mutex.unlock();
return true;
}
void Playback::setVector(std::vector<std::pair<int, int>> v) {

View File

@@ -30,7 +30,7 @@ public:
void Stop();
void Release();
void setVideo(cv::VideoCapture cap, cv::VideoWriter writer, bool record);
void setVideoCamera(int device, int res, cv::VideoWriter writer, bool record);
bool setVideoCamera(int device, int res, cv::VideoWriter writer, bool record);
bool isStopped() const;
void run();
void msleep(int ms);