Fixed several issues found by static analysis (Windows specific)
authorMaksim Shabunin <maksim.shabunin@gmail.com>
Mon, 10 Jul 2017 20:14:02 +0000 (23:14 +0300)
committerMaksim Shabunin <maksim.shabunin@gmail.com>
Mon, 10 Jul 2017 20:14:02 +0000 (23:14 +0300)
modules/core/src/opencl/runtime/opencl_core.cpp
modules/videoio/src/cap_dshow.cpp

index 5c46611..34ae5d8 100644 (file)
@@ -116,6 +116,7 @@ static void* WinGetProcAddress(const char* name)
                 else if (GetProcAddress(handle, OPENCL_FUNC_TO_CHECK_1_1) == NULL)
                 {
                     fprintf(stderr, ERROR_MSG_INVALID_VERSION);
+                    FreeLibrary(handle);
                     handle = NULL;
                 }
             }
index 200edc7..5e84da7 100644 (file)
@@ -608,9 +608,9 @@ class videoInput{
         GUID CAPTURE_MODE;
 
         //Extra video subtypes
-        GUID MEDIASUBTYPE_Y800;
-        GUID MEDIASUBTYPE_Y8;
-        GUID MEDIASUBTYPE_GREY;
+        // GUID MEDIASUBTYPE_Y800;
+        // GUID MEDIASUBTYPE_Y8;
+        // GUID MEDIASUBTYPE_GREY;
 
         videoDevice * VDList[VI_MAX_CAMERAS];
         GUID mediaSubtypes[VI_NUM_TYPES];
@@ -665,6 +665,9 @@ public:
         latestBufferLength  = 0;
 
         hEvent = CreateEvent(NULL, true, false, NULL);
+        pixels = 0;
+        ptrBuffer = 0;
+        numBytes = 0;
     }
 
 
@@ -798,6 +801,10 @@ videoDevice::videoDevice(){
      autoReconnect      = false;
      requestedFrameTime = -1;
 
+     pBuffer = 0;
+     pixels = 0;
+     formatType = 0;
+
      memset(wDeviceName, 0, sizeof(WCHAR) * 255);
      memset(nDeviceName, 0, sizeof(char) * 255);
 
@@ -1060,15 +1067,18 @@ videoInput::videoInput(){
     callbackSetCount     = 0;
     bCallback            = true;
 
+    connection = PhysConn_Video_Composite;
+    CAPTURE_MODE = PIN_CATEGORY_PREVIEW;
+
     //setup a max no of device objects
     for(int i=0; i<VI_MAX_CAMERAS; i++)  VDList[i] = new videoDevice();
 
     DebugPrintOut("\n***** VIDEOINPUT LIBRARY - %2.04f - TFW07 *****\n\n",VI_VERSION);
 
     //added for the pixelink firewire camera
-     //MEDIASUBTYPE_Y800 = (GUID)FOURCCMap(FCC('Y800'));
-     //MEDIASUBTYPE_Y8   = (GUID)FOURCCMap(FCC('Y8'));
-     //MEDIASUBTYPE_GREY = (GUID)FOURCCMap(FCC('GREY'));
+    // MEDIASUBTYPE_Y800 = (GUID)FOURCCMap(FCC('Y800'));
+    // MEDIASUBTYPE_Y8   = (GUID)FOURCCMap(FCC('Y8'));
+    // MEDIASUBTYPE_GREY = (GUID)FOURCCMap(FCC('GREY'));
 
     //The video types we support
     //in order of preference