L4T Multimedia API Reference

28.2 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Argus::IOutputStreamSettings Class Referenceabstract

Detailed Description

Interface that exposes the settings used for OutputStream creation.

Definition at line 134 of file Stream.h.

Inheritance diagram for Argus::IOutputStreamSettings:
Collaboration diagram for Argus::IOutputStreamSettings:

Public Member Functions

virtual Status setPixelFormat (const PixelFormat &format)=0
 Set the format of the stream. More...
 
virtual PixelFormat getPixelFormat () const =0
 
virtual Status setResolution (const Size2D< uint32_t > &resolution)=0
 Set the resolution of the stream. More...
 
virtual Size2D< uint32_t > getResolution () const =0
 
virtual Status setCameraDevice (CameraDevice *device)=0
 Set the camera device to use as the source for this stream. More...
 
virtual CameraDevicegetCameraDevice () const =0
 
virtual Status setEGLDisplay (EGLDisplay eglDisplay)=0
 Set the EGLDisplay the created stream must belong to. More...
 
virtual EGLDisplay getEGLDisplay () const =0
 
virtual Status setMode (const StreamMode &mode)=0
 Sets the mode of the OutputStream. More...
 
virtual StreamMode getMode () const =0
 
virtual Status setFifoLength (uint32_t fifoLength)=0
 Sets the FIFO queue length of the stream. More...
 
virtual uint32_t getFifoLength () const =0
 
virtual Status setMetadataEnable (bool metadataEnable)=0
 Enable or disable embedding libargus CaptureMetadata within frames written to the EGLStream. More...
 
virtual bool getMetadataEnable () const =0
 
virtual bool supportsOutputStreamFormat (const SensorMode *sensorMode, const PixelFormat &outputFormat) const =0
 

Static Public Member Functions

static const InterfaceIDid ()
 

Protected Member Functions

 ~IOutputStreamSettings ()
 

Constructor & Destructor Documentation

Argus::IOutputStreamSettings::~IOutputStreamSettings ( )
inlineprotected

Definition at line 240 of file Stream.h.

Member Function Documentation

virtual CameraDevice* Argus::IOutputStreamSettings::getCameraDevice ( ) const
pure virtual
virtual EGLDisplay Argus::IOutputStreamSettings::getEGLDisplay ( ) const
pure virtual
virtual uint32_t Argus::IOutputStreamSettings::getFifoLength ( ) const
pure virtual
virtual bool Argus::IOutputStreamSettings::getMetadataEnable ( ) const
pure virtual
virtual StreamMode Argus::IOutputStreamSettings::getMode ( ) const
pure virtual
virtual PixelFormat Argus::IOutputStreamSettings::getPixelFormat ( ) const
pure virtual
virtual Size2D<uint32_t> Argus::IOutputStreamSettings::getResolution ( ) const
pure virtual
static const InterfaceID& Argus::IOutputStreamSettings::id ( )
inlinestatic

Definition at line 137 of file Stream.h.

virtual Status Argus::IOutputStreamSettings::setCameraDevice ( CameraDevice device)
pure virtual

Set the camera device to use as the source for this stream.

Default value: First available device in the session.

virtual Status Argus::IOutputStreamSettings::setEGLDisplay ( EGLDisplay  eglDisplay)
pure virtual

Set the EGLDisplay the created stream must belong to.

Default value: EGL_NO_DISPLAY - stream is display-agnostic.

virtual Status Argus::IOutputStreamSettings::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
virtual Status Argus::IOutputStreamSettings::setMetadataEnable ( bool  metadataEnable)
pure virtual

Enable or disable embedding libargus 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.

virtual Status Argus::IOutputStreamSettings::setMode ( const StreamMode &  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 libargus 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 libargus produces frames, then some frames may be lost (never seen by the consumer).
  • If the consumer consumes frames faster than libargus 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 libargus 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), libargus 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 libargus produces them, libargus will stall.
  • If the consumer consumes frames faster than libargus produces them, then the consumer may see some frames more than once.

Default value: STREAM_MODE_MAILBOX

virtual Status Argus::IOutputStreamSettings::setPixelFormat ( const PixelFormat format)
pure virtual

Set the format of the stream.

Default value: PIXEL_FMT_UNKNOWN

virtual Status Argus::IOutputStreamSettings::setResolution ( const Size2D< uint32_t > &  resolution)
pure virtual

Set the resolution of the stream.

Default value: (0, 0)

virtual bool Argus::IOutputStreamSettings::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]sensorModeThe sensor mode being queried for the output pixel type.
[in]outputFormatThe output pixel format being queried for support.

The documentation for this class was generated from the following file: