adding extra buffer parameter
authorStevenPuttemans <steven.puttemans@kuleuven.be>
Wed, 12 Nov 2014 09:48:24 +0000 (10:48 +0100)
committerStevenPuttemans <steven.puttemans@kuleuven.be>
Wed, 12 Nov 2014 12:09:53 +0000 (13:09 +0100)
modules/highgui/include/opencv2/highgui/highgui_c.h
modules/highgui/src/cap_dc1394_v2.cpp

index 1f86abb..71b28d1 100644 (file)
@@ -385,6 +385,7 @@ enum
     CV_CAP_PROP_ROLL          =35,
     CV_CAP_PROP_IRIS          =36,
     CV_CAP_PROP_SETTINGS      =37,
+    CV_CAP_PROP_BUFFERSIZE    =38,
 
     CV_CAP_PROP_AUTOGRAB      =1024, // property for highgui class CvCapture_Android only
     CV_CAP_PROP_SUPPORTED_PREVIEW_SIZES_STRING=1025, // readonly, tricky property, returns cpnst char* indeed
index 0d5f898..86a77c1 100644 (file)
@@ -278,6 +278,7 @@ CvCaptureCAM_DC1394_v2_CPP::CvCaptureCAM_DC1394_v2_CPP()
     dcCam = 0;
     isoSpeed = 400;
     fps = 15;
+    // Resetted the value here to 1 in order to ensure only a single frame is stored in the buffer!
     nDMABufs = 8;
     started = false;
     cameraId = 0;
@@ -732,6 +733,11 @@ bool CvCaptureCAM_DC1394_v2_CPP::setProperty(int propId, double value)
           return false;
         isoSpeed = cvRound(value);
         break;
+    case CV_CAP_PROP_BUFFERSIZE:
+        if(started)
+            return false;
+        nDMABufs = value;
+        break;
         //The code below is based on coriander, callbacks.c:795, refer to case RANGE_MENU_MAN :
          default:
              if (propId<CV_CAP_PROP_MAX_DC1394 && dc1394properties[propId]!=-1