OpenNI2 Stream Mirroring Compatibility Hack #12412
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Issue #12363 reported last week. Thanks to @MartyG-RealSense for extra info.
All these comments apply to the file
/wrappers/openni2/src/Rs2StreamProps.cpp
Where I started looking at this, librealsense does not support stream mirroring, and the
getProperty(ONI_STREAM_PROPERTY_MIRRORING)
always returnsfalse
.OpenNI2 Viewer will crash if
isPropertySupported(ONI_STREAM_PROPERTY_MIRRORING)
returnstrue
, but then when attempting to set the property it recievesONI_STATUS_NOT_SUPPORTED
. This was the behavior before my change.Some Closed-source OpenNI2 Scanning apps call
setProperty(ONI_STREAM_PROPERTY_MIRRORING)
without checking if its supported first. By returning OK, we can allow these programs (Skanect, ReconstructMe, probably others) to function normally.The downside is that some OpenNI2 developer may attempt to mirror the video (without checking if the property is supported), the wrapper will return OK, and the video will not be mirrored. This may not be intuitive. However, if they then check
getProperty(ONI_STREAM_PROPERTY_MIRRORING)
they will still receivefalse
, so this is consistent.