Closed piedar closed 11 years ago
Hi Benn,
Hope you are doing fine.
I hit the similar issue when I created Kinect SDK bridge for OpenNI 1. As it appeared to be proprietary information, I ended up hacking getProperty call to find out what properties were required and what values were returned. You can see my implementation below. This may be a little bit of help to achieve your goal although it is a dirty hard-coded hack created for OpenNI/NiTE 1. https://code.google.com/p/kinect-mssdk-openni-bridge/source/browse/src/PrimeSenseProperties.h https://code.google.com/p/kinect-mssdk-openni-bridge/source/browse/src/PrimeSensePropertyDef/D2S.h https://code.google.com/p/kinect-mssdk-openni-bridge/source/browse/src/PrimeSensePropertyDef/S2D.h
The segmentation fault you got apparently happened when NiTE tried to get the shift-depth vector that would map to "D2S" or "S2D" property in the implementation above.
Best Regards, Tomoto
Hey Tomoto,
Thanks for the suggestion.
I do provide D2S and S2D in DepthStream.hpp. There could an issue with mismatched types, perhaps causing a buffer overflow when I std::copy
. I will start my search there.
Oh, you have already provided these properties. Then I agree you could check the data copy for D2S and S2D to solve the problem.
Happy Hacking, Tomoto
I solved the immediate problem by changing the type of the S2D array from uint16_t
to unsigned char
. However, UserViewer segfaults on exit and HandViewer dies with a failed assertion in malloc.c. I will report these as separate issues.
While I am glad you solved the problem, I strongly feel "what driver properties NiTE requires" should be documented. I will post this suggestion on the community forum. Thanks!
I am the developer of piedar/OpenNI2-FreenectDriver. The driver works fine with the OpenNI 2.2 samples, but running any of the NiTE 2.2 samples results in a segmentation fault in
FreenectDriver::DepthStream::getProperty(int, void*, int*)
, called fromoni::implementation::VideoStream::getProperty(int, void*, int*)
(full backtrace at piedar/OpenNI2-FreenectDriver#22). Please tell me which properties NiTE requires so I can implement them.