From e2d71c5999f63d749140c1b378898a98c978b6e4 Mon Sep 17 00:00:00 2001 From: matlabbe Date: Thu, 23 Apr 2015 08:17:44 -0400 Subject: [PATCH] Fixed OpenNI2 reading *.oni files --- corelib/src/CameraRGBD.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/corelib/src/CameraRGBD.cpp b/corelib/src/CameraRGBD.cpp index 1acc470a..354aa7e0 100644 --- a/corelib/src/CameraRGBD.cpp +++ b/corelib/src/CameraRGBD.cpp @@ -519,13 +519,21 @@ bool CameraOpenNI2::init(const std::string & calibrationFolder) return false; } - if(!_device->isImageRegistrationModeSupported(openni::IMAGE_REGISTRATION_DEPTH_TO_COLOR)) + if(UFile::getExtension(_deviceId).compare("oni")!=0 && + !_device->isImageRegistrationModeSupported(openni::IMAGE_REGISTRATION_DEPTH_TO_COLOR)) { UERROR("CameraOpenNI2: Device doesn't support depth/color registration."); _device->close(); openni::OpenNI::shutdown(); return false; } + else if(_device->getPlaybackControl() && _device->getPlaybackControl()->setRepeatEnabled(false) != openni::STATUS_OK) + { + UERROR("CameraOpenNI2: Cannot set repeat mode to false."); + _device->close(); + openni::OpenNI::shutdown(); + return false; + } if(_device->getSensorInfo(openni::SENSOR_DEPTH) == NULL || _device->getSensorInfo(openni::SENSOR_COLOR) == NULL)