added Release() to Playback

This commit is contained in:
lostjared
2017-02-08 10:57:45 -08:00
parent f60646c513
commit 0cd788fefa
2 changed files with 18 additions and 4 deletions

View File

@@ -135,6 +135,16 @@ void Playback::Stop() {
mutex.unlock(); mutex.unlock();
} }
void Playback::Release() {
if(capture.isOpened()) {
capture.release();
}
if(writer.isOpened()) {
writer.release();
}
}
void Playback::msleep(int ms) { void Playback::msleep(int ms) {
QThread::msleep(ms); QThread::msleep(ms);
} }
@@ -549,8 +559,8 @@ bool AC_MainWindow::startVideo(const QString &filename, const QString &outdir, b
void AC_MainWindow::controls_Stop() { void AC_MainWindow::controls_Stop() {
playback->Stop(); playback->Stop();
if(capture_video.isOpened()) { if(capture_video.isOpened()) {
capture_video.release(); //capture_video.release();
if(recording == true) writer.release(); //if(recording == true) writer.release();
cv::destroyWindow("Acid Cam v2"); cv::destroyWindow("Acid Cam v2");
file_new_capture->setEnabled(true); file_new_capture->setEnabled(true);
file_new_video->setEnabled(true); file_new_video->setEnabled(true);
@@ -561,10 +571,11 @@ void AC_MainWindow::controls_Stop() {
Log(stream_); Log(stream_);
} }
disp->hide(); disp->hide();
playback->Release();
} }
if(capture_camera.isOpened()) { if(capture_camera.isOpened()) {
capture_camera.release(); // capture_camera.release();
if(recording == true) writer.release(); // if(recording == true) writer.release();
cv::destroyWindow("Acid Cam v2"); cv::destroyWindow("Acid Cam v2");
file_new_capture->setEnabled(true); file_new_capture->setEnabled(true);
file_new_video->setEnabled(true); file_new_video->setEnabled(true);
@@ -575,7 +586,9 @@ void AC_MainWindow::controls_Stop() {
Log(stream_); Log(stream_);
} }
disp->hide(); disp->hide();
playback->Release();
} }
} }
void AC_MainWindow::file_Exit() { void AC_MainWindow::file_Exit() {

View File

@@ -24,6 +24,7 @@ public:
~Playback(); ~Playback();
void Play(); void Play();
void Stop(); void Stop();
void Release();
void setVideo(cv::VideoCapture cap, cv::VideoWriter writer, bool record); void setVideo(cv::VideoCapture cap, cv::VideoWriter writer, bool record);
bool isStopped() const; bool isStopped() const;
void run(); void run();