void XnDeviceBase::OnNewStreamData(XnDeviceStream* pStream, XnUInt64 nTimestamp, XnUInt32 nFrameID) { XnUInt64 nNow; xnOSGetHighResTimeStamp(&nNow); xnDumpFileWriteString(m_StreamsDataDump, "%llu,%s,%llu,%u\n", nNow, pStream->GetName(), nTimestamp, nFrameID); if (strcmp(m_PrimaryStream.GetValue(), XN_PRIMARY_STREAM_ANY) == 0 || strcmp(m_PrimaryStream.GetValue(), XN_PRIMARY_STREAM_NONE) == 0) { // any stream makes us advance m_nLastTimestamp = XN_MAX(m_nLastTimestamp, nTimestamp); m_nLastFrameID = XN_MAX(m_nLastFrameID, nFrameID); } else if (strcmp(m_PrimaryStream.GetValue(), pStream->GetName()) == 0) // this stream is the primary { m_nLastTimestamp = nTimestamp; m_nLastFrameID = nFrameID; } XnStatus nRetVal = xnOSSetEvent(m_hNewDataEvent); if (nRetVal != XN_STATUS_OK) { xnLogWarning(XN_MASK_DDK, "Failed setting the new data event: %s", xnGetStatusString(nRetVal)); } RaiseNewStreamDataEvent(pStream->GetName()); }
void XnDeviceBase::OnNewStreamData(XnDeviceStream* pStream, OniFrame* pFrame) { XnUInt64 nNow; xnOSGetHighResTimeStamp(&nNow); xnDumpFileWriteString(m_StreamsDataDump, "%llu,%s,%llu,%u\n", nNow, pStream->GetName(), pFrame->timestamp, pFrame->frameIndex); RaiseNewStreamDataEvent(pStream->GetName(), pFrame); }