diff --git a/modules/videoio/src/cap_dshow.cpp b/modules/videoio/src/cap_dshow.cpp index 5e84da78be..45d4f07f51 100644 --- a/modules/videoio/src/cap_dshow.cpp +++ b/modules/videoio/src/cap_dshow.cpp @@ -337,11 +337,17 @@ interface ISampleGrabber : public IUnknown #ifdef _DEBUG #include -//change for verbose debug info -static bool gs_verbose = true; - static void DebugPrintOut(const char *format, ...) { + static int gs_verbose = -1; + if (gs_verbose < 0) + { + // Fetch initial debug state from environment - defaults to disabled + const char* s = getenv("OPENCV_DSHOW_DEBUG"); + gs_verbose = s != NULL && atoi(s) != 0; + } + + if (gs_verbose) { va_list args; @@ -487,9 +493,6 @@ class videoInput{ videoInput(); ~videoInput(); - //turns off console messages - default is to print messages - static void setVerbose(bool _verbose); - //Functions in rough order they should be used. static int listDevices(bool silent = false); @@ -1130,20 +1133,6 @@ videoInput::videoInput(){ } - -// ---------------------------------------------------------------------- -// static - set whether messages get printed to console or not -// -// ---------------------------------------------------------------------- - -void videoInput::setVerbose(bool _verbose){ -#ifdef _DEBUG - gs_verbose = _verbose; -#else - (void)_verbose; // Suppress 'unreferenced parameter' warning -#endif -} - // ---------------------------------------------------------------------- // change to use callback or regular capture // callback tells you when a new frame has arrived