123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 |
- #ifndef _EGLSTREAM_FRAME_PRODUCER_H
- #define _EGLSTREAM_FRAME_PRODUCER_H
- #include "FrameBuf.h"
- #include "Argus/Types.h"
- namespace EGLStream
- {
- class FrameProducer : public Argus::InterfaceProvider, public Argus::Destructable
- {
- public:
-
- static FrameProducer* create(Argus::InputStream* inputStream,
- const Argus::BayerPhase &phase,
- Argus::Status* status = NULL);
-
- static FrameProducer* create(EGLDisplay eglDisplay,
- EGLStreamKHR eglStream,
- const Argus::Size2D<uint32_t> &size,
- const Argus::PixelFormat &format,
- const Argus::BayerPhase &phase,
- Argus::Status* status = NULL);
- protected:
- ~FrameProducer() {}
- };
- DEFINE_UUID(Argus::InterfaceID, IID_FRAME_PRODUCER, b94a7bd1,c3c8,11e5,a837,08,00,20,0c,9a,66);
- class IFrameProducer : public Argus::Interface
- {
- public:
- static const Argus::InterfaceID& id() { return IID_FRAME_PRODUCER; }
-
- virtual Argus::Status getFrame(FrameBuf** frame,
- uint64_t timeout = Argus::TIMEOUT_INFINITE) = 0;
-
- virtual Argus::Status presentFrame(FrameBuf *frame) = 0;
-
- virtual Argus::Status returnAbortedFrame(FrameBuf *frame) = 0;
- protected:
- ~IFrameProducer() {}
- };
- }
- #endif
|