If the camera is not connected to the system when the perceptual-computing-powered application starts, the UtilPipeline class will cause the application to crash when its "LoopFrames" method is invoked.....
I have added quite some safety checking code to prevent this to happen, but it turned out that the "IsDisconnected" method of UtilPipeline class always returns false regardless if the camera is connected or not. Because of that, the application think that the camera is there and invoke the processing loop subsequently, which would lead to the same crash.
I am not sure if I am missing something here, but so far, I haven't found any other related method in the UtilPipeline class that deliver the Camera availability nor any discussion topic in the dev forum. Alternatively, I realize that I could probably use the lower-level method like the locateStream to verify the connectivity, but I would really like to verify this issue as it seems like a bug somehow.
While referring back to the SDK-core manual, below is the snippet describing the UtilPipeline::IsDisconnected method... seems like the return state logic is opposite to that of the method name somehow..... or?
This IsDisconnected function returns the input device connection status.
true The input device is connected.
false The input device is disconnected.
In any case, from my tests, regardless of the actual physical connectivity of the camera, this method always returns false no matter what...
Has anyone experienced this too?