Problem Viewing Persee depth frame using OpenCV+OpenNI

As OpenNI does not support color stream, I moved to OpenCV and built OpenCV 3.3 with OpenNI2 enabled, using Cmake.
I use the following to access depth frame:
VideoCapture cap ( CV_CAP_OPENNI)
as listed in OpenCV documentation APIs enum here.
It compiles. But, on execution, the code gets stuck at cap >> frame where it fetches new frame.

Does anyone have an idea why this is happening?

Is this an OpenNI related issue, such as path not found? (no package openNI is found when i run pkg-config --cflags --libs openni even after i source OpenNIDevEnvironment)
or is there some other method to access openni depth frames in opencv?

I’m not use how the OpenNI2 support works for OpenCV, but you need to use the Astra version of OpenNI2.
If you try to use the mainstream version supported by Occipital, it won’t load because it won’t be able to recognize the Astra device.