void XnPixelStream::NewDataAvailable(OniFrame* pFrame) { // crop xnOSEnterCriticalSection(GetLock()); OniCropping cropping = *GetCropping(); xnOSLeaveCriticalSection(GetLock()); if (cropping.enabled) { XnStatus nRetVal = CropImpl(pFrame, &cropping); if (nRetVal != XN_STATUS_OK) { xnLogWarning(XN_MASK_DDK, "Failed to crop! Frame will be dropped"); return; } } XnFrameStream::NewDataAvailable(pFrame); }
XnStatus XnPixelStream::ReadImpl(XnStreamData* pStreamOutput) { XnStatus nRetVal = XN_STATUS_OK; // first read nRetVal = XnFrameStream::ReadImpl(pStreamOutput); XN_IS_STATUS_OK(nRetVal); // now crop xnOSEnterCriticalSection(GetLock()); XnCropping cropping = *GetCropping(); xnOSLeaveCriticalSection(GetLock()); if (cropping.bEnabled) { nRetVal = CropImpl(pStreamOutput, &cropping); XN_IS_STATUS_OK(nRetVal); } return (XN_STATUS_OK); }