mirror of
https://github.com/lostjared/Acid.Cam.v2.Qt.git
synced 2025-12-05 14:30:03 +01:00
check if video is set
This commit is contained in:
@@ -845,7 +845,7 @@ void AC_MainWindow::comboFilterChanged(int) {
|
||||
Log(str);
|
||||
std::string text = filters->currentText().toStdString();
|
||||
|
||||
if(ac::v_cap.isOpened() == false && text.find("Video") != std::string::npos) {
|
||||
if(playback->videoIsOpen() == false && text.find("Video") != std::string::npos) {
|
||||
Log(tr("Set a video file to use this filter"));
|
||||
}
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ bool Playback::VideoRelease() {
|
||||
if(ac::v_cap.isOpened()) {
|
||||
ac::v_cap.release();
|
||||
ret = true;
|
||||
video_is_set = false;
|
||||
}
|
||||
mutex.unlock();
|
||||
return ret;
|
||||
@@ -133,14 +134,20 @@ bool Playback::setVideoCamera(std::string name, int type, int device, int res, c
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Playback::videoIsOpen() {
|
||||
return video_is_set;
|
||||
}
|
||||
|
||||
bool Playback::openVideo(std::string vname) {
|
||||
mutex.lock();
|
||||
ac::v_cap.open(vname);
|
||||
if(ac::v_cap.isOpened() == false) {
|
||||
mutex.unlock();
|
||||
video_is_set = false;
|
||||
return false;
|
||||
}
|
||||
mutex.unlock();
|
||||
video_is_set = true;
|
||||
return true;
|
||||
}
|
||||
void Playback::setVector(std::vector<FilterValue> v) {
|
||||
|
||||
@@ -19,6 +19,7 @@ class Playback : public QThread {
|
||||
private:
|
||||
std::atomic<bool> stop;
|
||||
std::atomic<bool> video_shown;
|
||||
std::atomic<bool> video_is_set;
|
||||
QMutex mutex, mutex_shown, mutex_add;
|
||||
QWaitCondition condition;
|
||||
cv::Mat frame;
|
||||
@@ -62,6 +63,7 @@ private:
|
||||
public:
|
||||
Playback(QObject *parent = 0);
|
||||
~Playback();
|
||||
bool videoIsOpen();
|
||||
void setFadeFilter(bool f);
|
||||
void setFrameIndex(const long &index);
|
||||
bool getFrame(QImage &img, const int &index);
|
||||
|
||||
Reference in New Issue
Block a user