Implementation of a plugin that provides a Sensor for the Azure Kinect.
Support for one Azure Kinect (video, depth, point cloud, bodytracking)
Not supported:
audio
gyroscope data
multiple kinects
Main files:
AzureKinect.h and AzureKinect.cpp contain the sensor implementation
Notes:
core Factory was touched to include a workaround without which the azurekinect plugin dll could not be unloaded because (for unknown reasons) it internally can't properly unload one of the azurekinect sdk dll's.
All core executables and dlls were rebuilt due to that change in core Factory
Conversion from the azurekinect skeleton into the common ssi skeleton hasbeen added to the skeleton plugin (SkeletonConverter.cpp)
The websocket plugin was enriched with a option to set the send/receive loop sleep duration
during the development of this plugin websockets were used in test pipelines and it was discovered, that "realtime" data transfer was not possible at a stable 30fps because the websocket implementation had a 200ms hardcoded sleep interval built in.
The headers of the Azure Kinect's SDK (k4a.hpp and k4abt.hpp) were modified because they use std::min / std::max, which clashes with ssi defined preprocessor macros min and max
Implementation of a plugin that provides a
Sensor
for the Azure Kinect. Support for one Azure Kinect (video, depth, point cloud, bodytracking)Not supported:
Main files:
AzureKinect.h
andAzureKinect.cpp
contain the sensor implementationNotes:
Factory
was touched to include a workaround without which the azurekinect plugin dll could not be unloaded because (for unknown reasons) it internally can't properly unload one of the azurekinect sdk dll's.Factory
skeleton
plugin (SkeletonConverter.cpp
)websocket
plugin was enriched with a option to set the send/receive loop sleep durationk4a.hpp
andk4abt.hpp
) were modified because they usestd::min
/std::max
, which clashes with ssi defined preprocessor macrosmin
andmax