CV_CAP_OPENNI_DEPTH_GENERATOR_FOCAL_LENGTH = CV_CAP_OPENNI_DEPTH_GENERATOR + CV_CAP_PROP_OPENNI_FOCAL_LENGTH,
// Properties of cameras available through GStreamer interface
- CV_CAP_GSTREAMER_QUEUE_LENGTH = 200 // default is 1
+ CV_CAP_GSTREAMER_QUEUE_LENGTH = 200, // default is 1
+ CV_CAP_PROP_PVAPI_MULTICASTIP = 300 // ip for anable multicast master mode. 0 for disable multicast
};
enum
else
monocrome=false;
break;
- case CV_CAP_PROP_EXPOSURE:
- if (PvAttrUint32Set(Camera.Handle,"ExposureValue",(tPvUint32)value)==ePvErrSuccess)
- break;
+ case CV_CAP_PROP_EXPOSURE:
+ if ((PvAttrUint32Set(Camera.Handle,"ExposureValue",(tPvUint32)value)==ePvErrSuccess))
+ break;
+ else
+ return false;
+ case CV_CAP_PROP_PVAPI_MULTICASTIP:
+
+ if (value==-1) {
+ if ((PvAttrEnumSet(Camera.Handle,"MulticastEnable", "Off")==ePvErrSuccess))
+ break;
+ else
+ return false;
+ }
+ else {
+ string ip=cv::format("%d.%d.%d.%d", (value>>24)&255, (value>>16)&255, (value>>8)&255, value&255);
+ if ((PvAttrEnumSet(Camera.Handle,"MulticastEnable", "On")==ePvErrSuccess) &&
+ (PvAttrStringSet(priv->handle, "MulticastIPAddress", ip.c_str())==ePvErrSuccess)) {
+ break;
else
- return false;
+ return false;
+ }
+ }
default:
return false;
}