diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2016-10-01 16:41:20 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2016-10-01 16:41:20 +0200 |
commit | 29406db336d00a223fec9035044a5ca46ade1d3f (patch) | |
tree | 2193fab5bf301e5106d05ef86c225f419c5bd6f7 /cv/video-property-page.cpp | |
parent | f3d16459b19098ec4c1269a527867270c19c9e98 (diff) |
camera settings: disable for all A4 TECH cameras
We've had two reported crashes.
Issue: #468
Diffstat (limited to 'cv/video-property-page.cpp')
-rw-r--r-- | cv/video-property-page.cpp | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/cv/video-property-page.cpp b/cv/video-property-page.cpp index 08ac00d0..e5f1a9f0 100644 --- a/cv/video-property-page.cpp +++ b/cv/video-property-page.cpp @@ -10,7 +10,7 @@ #ifdef _WIN32 #include <cstring> -#include <QString> +#include <QRegularExpression> #include <QDebug> #define CHECK(expr) if (FAILED(hr = (expr))) { qDebug() << QStringLiteral(#expr) << hr; goto done; } @@ -22,6 +22,24 @@ bool video_property_page::show_from_capture(cv::VideoCapture& cap, int) return true; } +bool video_property_page::should_show_dialog(const QString& camera_name) +{ + using re = QRegularExpression; + static const re regexen[] = + { + re("^PS3Eye Camera$"), + re("^A4 TECH "), + }; + bool avail = true; + for (const re& r : regexen) + { + avail &= !r.match(camera_name).hasMatch(); + if (!avail) + break; + } + return avail; +} + bool video_property_page::show(int id) { IBaseFilter* filter = NULL; @@ -135,6 +153,11 @@ done: # include <QProcess> # include "compat/camera-names.hpp" +bool video_property_page::should_show_dialog(const QString& camera_name) +{ + return true; +} + bool video_property_page::show(int idx) { const QList<QString> camera_names(get_camera_names()); @@ -152,4 +175,8 @@ bool video_property_page::show_from_capture(cv::VideoCapture&, int idx) #else bool video_property_page::show(int) { return false; } bool video_property_page::show_from_capture(cv::VideoCapture&, int) { return false; } +bool video_property_page::should_show_dialog(const QString& camera_name) +{ + return false; +} #endif |