Interface that exposes the settings used for EGLStream-linked OutputStream creation.
Definition at line 79 of file EGLStream.h.
◆ ~IEGLOutputStreamSettings()
Argus::IEGLOutputStreamSettings::~IEGLOutputStreamSettings |
( |
| ) |
|
|
inlineprotected |
◆ getEGLDisplay()
virtual EGLDisplay Argus::IEGLOutputStreamSettings::getEGLDisplay |
( |
| ) |
const |
|
pure virtual |
◆ getExposureCount()
virtual uint32_t Argus::IEGLOutputStreamSettings::getExposureCount |
( |
| ) |
const |
|
pure virtual |
◆ getFifoLength()
virtual uint32_t Argus::IEGLOutputStreamSettings::getFifoLength |
( |
| ) |
const |
|
pure virtual |
◆ getMetadataEnable()
virtual bool Argus::IEGLOutputStreamSettings::getMetadataEnable |
( |
| ) |
const |
|
pure virtual |
◆ getMode()
virtual EGLStreamMode Argus::IEGLOutputStreamSettings::getMode |
( |
| ) |
const |
|
pure virtual |
◆ getPixelFormat()
virtual PixelFormat Argus::IEGLOutputStreamSettings::getPixelFormat |
( |
| ) |
const |
|
pure virtual |
◆ getResolution()
virtual Size2D<uint32_t> Argus::IEGLOutputStreamSettings::getResolution |
( |
| ) |
const |
|
pure virtual |
◆ id()
static const InterfaceID& Argus::IEGLOutputStreamSettings::id |
( |
| ) |
|
|
inlinestatic |
◆ setEGLDisplay()
virtual Status Argus::IEGLOutputStreamSettings::setEGLDisplay |
( |
EGLDisplay |
eglDisplay | ) |
|
|
pure virtual |
Set the EGLDisplay the created stream must belong to.
Default value: EGL_NO_DISPLAY - stream is display-agnostic.
◆ setExposureCount()
virtual Status Argus::IEGLOutputStreamSettings::setExposureCount |
( |
uint32_t |
exposureCount | ) |
|
|
pure virtual |
Set the number of exposures per stream frame.
This number should match the number of exposures that are going to be provided with each stream frame when capturing from multi-exposure WDR sources. Note that the EGLStream consumer must support consuming multi-exposure/buffer EGLStreams. In the case of the EGLStream::FrameConsumer consumer, the multiple exposures are treated as separate buffers in the acquired Image and may be accessed using any Image interface which supports multi-buffer/plane image access (see EGLStream::IImage::getBufferCount()). Default value: 1
◆ setFifoLength()
virtual Status Argus::IEGLOutputStreamSettings::setFifoLength |
( |
uint32_t |
fifoLength | ) |
|
|
pure virtual |
Sets the FIFO queue length of the stream.
This value is only used if the stream is using the FIFO mode (
- See also
- OutputStreamSettings::setMode). Value must be > 0. Default value: 1
◆ setMetadataEnable()
virtual Status Argus::IEGLOutputStreamSettings::setMetadataEnable |
( |
bool |
metadataEnable | ) |
|
|
pure virtual |
Enables or disables embedding Argus CaptureMetadata within frames written to the EGLStream.
Enabling this will allow an EGLStream::MetadataContainer to be created from frames acquired on the consumer side of the EGLStream that will expose the EGLStream::IArgusCaptureMetadata interface, which in turn provides access to the CaptureMetadata corresponding to that frame. This will also enable the IArgusCaptureMetadata interface directly on EGLStream::Frames acquired by an EGLStream::FrameConsumer. Default value: disabled.
◆ setMode()
virtual Status Argus::IEGLOutputStreamSettings::setMode |
( |
const EGLStreamMode & |
mode | ) |
|
|
pure virtual |
Sets the mode of the OutputStream.
Available options are:
MAILBOX: In this mode, only the newest frame is made available to the consumer. When Argus completes a frame it empties the mailbox and inserts the new frame into the mailbox. The consumer then retrieves the frame from the mailbox and processes it; when finished, the frame is either placed back into the mailbox (if the mailbox is empty) or discarded (if the mailbox is not empty). This mode implies 2 things:
- If the consumer consumes frames slower than Argus produces frames, then some frames may be lost (never seen by the consumer).
- If the consumer consumes frames faster than Argus produces frames, then the consumer may see some frames more than once.
FIFO: When using this mode, every producer frame is made available to the consumer through the use of a fifo queue for the frames. When using this mode, the fifo queue length must be specified using setFifoLength. When Argus completes a frame it inserts it to the head of the fifo queue. If the fifo is full (already contains the number of frames equal to the fifo queue length), Argus will stall until the fifo is no longer full. The consumer consumes frames from the tail of the queue; however, if the consumer releases a frame while the queue is empty, the frame is set aside and will be returned again the next time the consumer requests a frame if another new frame has not been inserted into the fifo queue before then. Once a new frame is inserted into the fifo queue, any previously released frame will be permanently discarded. This mode implies:
- Frames are never discarded until the consumer has processed them.
- If the consumer consumes frames slower than Argus produces them, Argus will stall.
- If the consumer consumes frames faster than Argus produces them, then the consumer may see some frames more than once.
Default value: STREAM_MODE_MAILBOX
◆ setPixelFormat()
virtual Status Argus::IEGLOutputStreamSettings::setPixelFormat |
( |
const PixelFormat & |
format | ) |
|
|
pure virtual |
Set the format of the stream.
Default value: PIXEL_FMT_UNKNOWN
◆ setResolution()
virtual Status Argus::IEGLOutputStreamSettings::setResolution |
( |
const Size2D< uint32_t > & |
resolution | ) |
|
|
pure virtual |
Set the resolution of the stream.
Default value: (0, 0)
◆ supportsOutputStreamFormat()
virtual bool Argus::IEGLOutputStreamSettings::supportsOutputStreamFormat |
( |
const SensorMode * |
sensorMode, |
|
|
const PixelFormat & |
outputFormat |
|
) |
| const |
|
pure virtual |
- Returns
- True if the output pixel format is supported by the CaptureSession for the queried sensor mode. Otherwise, returns false.
- Parameters
-
[in] | sensorMode | The sensor mode being queried for the output pixel type. |
[in] | outputFormat | The output pixel format being queried for support. |
The documentation for this class was generated from the following file: