Interface to the core CaptureSession methods.
More...
#include <CaptureSession.h>
List of all members.
Public Member Functions |
virtual Status | cancelRequests ()=0 |
| Removes all previously submitted requests from the queue.
|
virtual Status | connectAllRequestInputStreams (const Request *requests, uint32_t numRequests)=0 |
| Connect the input stream side consumers to input streams.
|
virtual uint32_t | capture (const Request *request, uint64_t timeout=TIMEOUT_INFINITE, Status *status=NULL)=0 |
| Submits a single capture request.
|
virtual uint32_t | captureBurst (const std::vector< const Request * > &requestList, uint64_t timeout=TIMEOUT_INFINITE, Status *status=NULL)=0 |
| Submits a burst of requests.
|
virtual uint32_t | maxBurstRequests () const =0 |
| Returns the maximum number of capture requests that can be included in a burst capture.
|
virtual Request * | createRequest (const CaptureIntent &intent=CAPTURE_INTENT_PREVIEW, Status *status=NULL)=0 |
| Creates a request object that can be later used with this CaptureSession.
|
virtual OutputStreamSettings * | createOutputStreamSettings (const StreamType &type, Status *status=NULL)=0 |
| Creates an OutputStreamSettings object that is used to configure the creation of an OutputStream (see createOutputStream).
|
virtual OutputStream * | createOutputStream (const OutputStreamSettings *settings, Status *status=NULL)=0 |
| Creates an OutputStream object using the settings configured by an OutputStreamSettings object (see createOutputStreamSettings).
|
virtual InputStreamSettings * | createInputStreamSettings (const StreamType &type, Status *status=NULL)=0 |
| Creates an InputStreamSettings object that is used to configure the creation of an InputStream (see createInputStream).
|
virtual InputStream * | createInputStream (const InputStreamSettings *settings, Status *status=NULL)=0 |
| Creates an InputStream object using the settings configured by an InputStreamSettings object (see createInputStreamSettings).
|
virtual bool | isRepeating () const =0 |
| Returns true if there is a streaming request in place.
|
virtual Status | repeat (const Request *request)=0 |
| Sets up a repeating request.
|
virtual Status | repeatBurst (const std::vector< const Request * > &requestList)=0 |
| Sets up a repeating burst request.
|
virtual Range< uint32_t > | stopRepeat ()=0 |
| Shuts down any repeating capture.
|
virtual Status | waitForIdle (uint64_t timeout=TIMEOUT_INFINITE) const =0 |
| Waits until all pending captures are complete.
|
Detailed Description
Interface to the core CaptureSession methods.
Definition at line 65 of file CaptureSession.h.
Constructor & Destructor Documentation
Argus::ICaptureSession::~ICaptureSession |
( |
| ) |
|
|
inlineprotected |
Member Function Documentation
virtual Status Argus::ICaptureSession::cancelRequests |
( |
| ) |
|
|
pure virtual |
Removes all previously submitted requests from the queue.
When all requests are cancelled, both the FIFO and the streaming requests will be removed. If repeat captures are enabled, an implicit call to ICaptureSession::stopRepeat() will be made before cancelling the requests.
- Returns:
- success/status of this call.
Submits a single capture request.
For blocking capture session (created by ICameraProvider::createBlockingCaptureSession), it will wait until the request is accepted by lower level driver. For non-blocking capture session (created by ICameraProvider::createCaptureSession), it will queue a copy of the request to a queue and return.
The client can submit the same request instance in a future call. The request will be copied by the runtime.
- Parameters:
-
[in] | request | Parameters for the capture. |
[in] | timeout | The timeout in nanoseconds. The camera device will try to issue the request within the timeout period. If it can't it will return and set status to STATUS_UNAVAILABLE. |
[out] | status | An optional pointer to return success/status. |
- Returns:
- the capture id, a number that uniquely identifies (within this session) the request. If the submission request failed, zero will be returned. The request could fail because the timeout is reached, or because some parameter(s) of the
request
are invalid.
virtual uint32_t Argus::ICaptureSession::captureBurst |
( |
const std::vector< const Request * > & |
requestList, |
|
|
uint64_t |
timeout = TIMEOUT_INFINITE , |
|
|
Status * |
status = NULL |
|
) |
| |
|
pure virtual |
Submits a burst of requests.
For blocking capture session (created by ICameraProvider::createBlockingCaptureSession), it will wait until the first request is accepted by lower level driver. For non-blocking capture session (created by ICameraProvider::createCaptureSession), it will queue a copy of the requests to a queue and return.
The runtime will either accept the entire burst or refuse it completely (that is, no partial bursts will be accepted).
- Parameters:
-
[in] | requestList | The list of requests that make up the burst. |
[in] | timeout | The timeout in nanoseconds. The camera device will try to issue the request within the timeout period. If it can't it will return and set status to STATUS_UNAVAILABLE. |
[out] | status | An optional pointer to return success/status. |
- Returns:
- the capture id of the capture associated with the first request in the burst. The capture id will increment by one for the captures associated with each successive request. If the submission request failed, zero will be returned. The request could fail because the timeout is reached, or because some parameter(s) of the
request
are invalid.
virtual Status Argus::ICaptureSession::connectAllRequestInputStreams |
( |
const Request * |
requests, |
|
|
uint32_t |
numRequests |
|
) |
| |
|
pure virtual |
Connect the input stream side consumers to input streams.
- Parameters:
-
[in] | request | Parameters for the capture. |
[in] | numRequests | Number of capture requests |
- Returns:
- success/status of this call.
Creates an InputStream object using the settings configured by an InputStreamSettings object (see createInputStreamSettings).
- Parameters:
-
[in] | settings | The settings to use for the new input stream. |
[out] | status | An optional pointer to return success/status. |
- Returns:
- The newly created InputStream, or NULL on failure.
virtual InputStreamSettings* Argus::ICaptureSession::createInputStreamSettings |
( |
const StreamType & |
type, |
|
|
Status * |
status = NULL |
|
) |
| |
|
pure virtual |
Creates an InputStreamSettings object that is used to configure the creation of an InputStream (see createInputStream).
The type of InputStream that will be configured and created by these settings are determined by the StreamType.
- Parameters:
-
[in] | type | The type of the InputStream to configure/create with these settings. |
[out] | status | An optional pointer to return success/status. |
- Returns:
- The newly created InputStreamSettings, or NULL on failure.
Creates an OutputStream object using the settings configured by an OutputStreamSettings object (see createOutputStreamSettings).
- Parameters:
-
[in] | settings | The settings to use for the new output stream. |
[out] | status | An optional pointer to return success/status. |
- Returns:
- The newly created OutputStream, or NULL on failure.
virtual OutputStreamSettings* Argus::ICaptureSession::createOutputStreamSettings |
( |
const StreamType & |
type, |
|
|
Status * |
status = NULL |
|
) |
| |
|
pure virtual |
Creates an OutputStreamSettings object that is used to configure the creation of an OutputStream (see createOutputStream).
The type of OutputStream that will be configured and created by these settings are determined by the StreamType.
- Parameters:
-
[in] | type | The type of the OutputStream to configure/create with these settings. |
[out] | status | An optional pointer to return success/status. |
- Returns:
- The newly created OutputStreamSettings, or NULL on failure.
virtual Request* Argus::ICaptureSession::createRequest |
( |
const CaptureIntent & |
intent = CAPTURE_INTENT_PREVIEW , |
|
|
Status * |
status = NULL |
|
) |
| |
|
pure virtual |
Creates a request object that can be later used with this CaptureSession.
- Parameters:
-
[in] | intent | Optional parameter that specifies the intent of the capture request and instructs the driver to populate the request with recommended settings for that intent. |
[out] | status | An optional pointer to return success/status. |
- See also:
- ICaptureMetadata::getClientData()
static const InterfaceID& Argus::ICaptureSession::id |
( |
| ) |
|
|
inlinestatic |
virtual bool Argus::ICaptureSession::isRepeating |
( |
| ) |
const |
|
pure virtual |
Returns true if there is a streaming request in place.
virtual uint32_t Argus::ICaptureSession::maxBurstRequests |
( |
| ) |
const |
|
pure virtual |
Returns the maximum number of capture requests that can be included in a burst capture.
virtual Status Argus::ICaptureSession::repeat |
( |
const Request * |
request | ) |
|
|
pure virtual |
Sets up a repeating request.
This is a convenience method that will queue a request whenever the request queue is empty and the camera is ready to accept new requests.
To stop repeating the request, call stopRepeat().
- Parameters:
-
[in] | request | The request to repeat. |
- Returns:
- success/status of the call.
virtual Status Argus::ICaptureSession::repeatBurst |
( |
const std::vector< const Request * > & |
requestList | ) |
|
|
pure virtual |
Sets up a repeating burst request.
This is a convenience method that will queue a request whenever the request queue is empty and the camera is ready to accept new requests.
To stop repeating the requests, call stopRepeat().
- Parameters:
-
[in] | requestList | The list of requests that make up the repeating burst. |
- Returns:
- success/status of the call.
virtual Range<uint32_t> Argus::ICaptureSession::stopRepeat |
( |
| ) |
|
|
pure virtual |
Shuts down any repeating capture.
- Returns:
- The range of capture ids generated by the most recent repeat() / repeatBurst() call. Note that some captures within that range may have been generated by explicit capture() calls made while the repeating capture was in force. If no captures were generated by the most recent repeat() / repeatBurst() call,
Range<uint32_t>(0,0)
will be returned.
Waits until all pending captures are complete.
- Parameters:
-
[in] | timeout | The timeout value (in nanoseconds) for this call. If the pipe has not become idle when the timeout expires, the call will return STATUS_TIMEOUT. |
The documentation for this class was generated from the following file: