34 #include <Argus/Ext/InternalFrameCount.h>
36 namespace ArgusSamples {
41 , m_sessionPerfTracker(sessionPerfTracker)
51 std::vector<Argus::EventType> eventTypes;
52 eventTypes.push_back(Argus::EVENT_TYPE_CAPTURE_COMPLETE);
69 Argus::IEventQueue *iEventQueue =
70 Argus::interface_cast<Argus::IEventQueue>(
m_eventQueue.get());
72 ORIGINATE_ERROR(
"Failed to get iEventQueue");
74 for (uint32_t i = 0; i < iEventQueue->getSize(); i++)
76 const Argus::Event *
event = iEventQueue->getEvent(i);
77 const Argus::IEvent *iEvent = Argus::interface_cast<
const Argus::IEvent>(event);
79 ORIGINATE_ERROR(
"Failed to get IEvent interface");
81 if (iEvent->getEventType() == Argus::EVENT_TYPE_CAPTURE_COMPLETE)
85 const Argus::IEventCaptureComplete *iEventCaptureComplete
86 = Argus::interface_cast<
const Argus::IEventCaptureComplete>(event);
87 const Argus::CaptureMetadata *metaData = iEventCaptureComplete->getMetadata();
90 const Argus::ICaptureMetadata *iCaptureMeta =
91 Argus::interface_cast<
const Argus::ICaptureMetadata>(metaData);
103 const Argus::Ext::IInternalFrameCount *iInternalFrameCount =
104 Argus::interface_cast<
const Argus::Ext::IInternalFrameCount>(metaData);
105 if (iInternalFrameCount)
107 const uint64_t currentFrameCount = iInternalFrameCount->getInternalFrameCount();