diff options
Diffstat (limited to 'cv/video-property-page.cpp')
-rw-r--r-- | cv/video-property-page.cpp | 34 |
1 files changed, 15 insertions, 19 deletions
diff --git a/cv/video-property-page.cpp b/cv/video-property-page.cpp index e76f8bc3..bae5e8b3 100644 --- a/cv/video-property-page.cpp +++ b/cv/video-property-page.cpp @@ -25,11 +25,6 @@ #include <QDebug> -#include <dshow.h> - -#define CHECK(expr) if (FAILED(hr = (expr))) { qDebug() << QLatin1String(#expr) << hr; goto done; } -#define CHECK2(expr) if (!(expr)) { qDebug() << QLatin1String(#expr); goto done; } - bool video_property_page::show_from_capture(cv::VideoCapture& cap, int /*index */) { return cap.set(cv::CAP_PROP_SETTINGS, 0); @@ -39,16 +34,18 @@ struct prop_settings_worker final : QThread { explicit prop_settings_worker(int idx); ~prop_settings_worker() override; - void _open_prop_page(); + +private: + void open_prop_page(); void run() override; cv::VideoCapture cap; - int _idx = -1; + int idx = -1; }; -prop_settings_worker::prop_settings_worker(int idx) +prop_settings_worker::prop_settings_worker(int idx_) { - int ret = cap.get(cv::CAP_PROP_SETTINGS); + int ret = (int)cap.get(cv::CAP_PROP_SETTINGS); if (ret != 0) run_in_thread_async(qApp, [] { @@ -60,16 +57,16 @@ prop_settings_worker::prop_settings_worker(int idx) }); else { - _idx = idx; + idx = idx_; // DON'T MOVE IT // ps3 eye will reset to default settings if done from another thread - _open_prop_page(); + open_prop_page(); } } -void prop_settings_worker::_open_prop_page() +void prop_settings_worker::open_prop_page() { - cap.open(_idx); + cap.open(idx); if (cap.isOpened()) { @@ -87,14 +84,14 @@ void prop_settings_worker::_open_prop_page() } qDebug() << "property-page: can't open camera"; - _idx = -1; + idx = -1; return; ok: portable::sleep(100); - qDebug() << "property-page: opening for" << _idx; + qDebug() << "property-page: opening for" << idx; if (!cap.set(cv::CAP_PROP_SETTINGS, 0)) { @@ -110,7 +107,7 @@ ok: prop_settings_worker::~prop_settings_worker() { - if (_idx != -1) + if (idx != -1) { // ax filter is race condition-prone portable::sleep(250); @@ -118,13 +115,13 @@ prop_settings_worker::~prop_settings_worker() // idem portable::sleep(250); - qDebug() << "property-page: closed" << _idx; + qDebug() << "property-page: closed" << idx; } } void prop_settings_worker::run() { - if (_idx != -1) + if (idx != -1) { while (cap.get(cv::CAP_PROP_SETTINGS) > 0) portable::sleep(1000); @@ -166,4 +163,3 @@ bool video_property_page::show_from_capture(cv::VideoCapture&, int idx) bool video_property_page::show(int) { return false; } bool video_property_page::show_from_capture(cv::VideoCapture&, int) { return false; } #endif - |