32 #include <Argus/Ext/DebugCaptureMetadata.h>
34 namespace ArgusSamples {
37 Argus::EventQueue *eventQueue,
40 , m_eventQueue(eventQueue)
41 , m_perfTracker(perftracker)
63 Argus::IEventQueue *iEventQueue =
64 Argus::interface_cast<Argus::IEventQueue>(
m_eventQueue.get());
66 ORIGINATE_ERROR(
"Failed to get iEventQueue");
68 for (uint32_t i = 0; i < iEventQueue->getSize(); i++)
70 const Argus::Event *
event = iEventQueue->getEvent(i);
71 const Argus::IEvent *ievent = Argus::interface_cast<
const Argus::IEvent>(event);
73 ORIGINATE_ERROR(
"Failed to get ievent interface");
75 if (ievent->getEventType() == Argus::EVENT_TYPE_CAPTURE_COMPLETE)
78 uint64_t latencyMs = 0;
80 const Argus::IEventCaptureComplete *ieventCaptureComplete
81 = Argus::interface_cast<
const Argus::IEventCaptureComplete>(event);
82 const Argus::CaptureMetadata *metaData = ieventCaptureComplete->getMetadata();
85 const Argus::ICaptureMetadata *iCaptureMeta =
86 Argus::interface_cast<
const Argus::ICaptureMetadata>(metaData);
89 latencyMs = ievent->getTime()/1000 - iCaptureMeta->getSensorTimestamp()/1000000;
93 const Argus::Ext::IDebugCaptureMetadata *iDebugCaptureMeta =
94 Argus::interface_cast<
const Argus::Ext::IDebugCaptureMetadata>(metaData);
95 if (iDebugCaptureMeta)
97 uint64_t currentFrameCount = iDebugCaptureMeta->getHwFrameCount();