From 8454a8f2d15df32e3ecf9334ba300780797e34c6 Mon Sep 17 00:00:00 2001 From: StevenPuttemans Date: Wed, 12 Nov 2014 10:48:24 +0100 Subject: [PATCH] adding extra buffer parameter Conflicts: modules/highgui/include/opencv2/highgui/highgui_c.h modules/highgui/src/cap_dc1394_v2.cpp fix typo --- modules/videoio/include/opencv2/videoio/videoio_c.h | 1 + modules/videoio/src/cap_dc1394_v2.cpp | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/modules/videoio/include/opencv2/videoio/videoio_c.h b/modules/videoio/include/opencv2/videoio/videoio_c.h index 692def9..f5166bf 100644 --- a/modules/videoio/include/opencv2/videoio/videoio_c.h +++ b/modules/videoio/include/opencv2/videoio/videoio_c.h @@ -183,6 +183,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 videoio class CvCapture_Android only CV_CAP_PROP_SUPPORTED_PREVIEW_SIZES_STRING=1025, // readonly, tricky property, returns cpnst char* indeed diff --git a/modules/videoio/src/cap_dc1394_v2.cpp b/modules/videoio/src/cap_dc1394_v2.cpp index 20ec79b..3dcd204 100644 --- a/modules/videoio/src/cap_dc1394_v2.cpp +++ b/modules/videoio/src/cap_dc1394_v2.cpp @@ -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; @@ -735,6 +736,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