Interface to the core CaptureSession methods.
Definition at line 65 of file CaptureSession.h.
◆ ~ICaptureSession()
Argus::ICaptureSession::~ICaptureSession |
( |
| ) |
|
|
inlineprotected |
◆ cancelRequests()
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.
◆ capture()
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.
◆ captureBurst()
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.
◆ createOutputStream()
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.
◆ createOutputStreamSettings()
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.
◆ createRequest()
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()
◆ id()
static const InterfaceID& Argus::ICaptureSession::id |
( |
| ) |
|
|
inlinestatic |
◆ isRepeating()
virtual bool Argus::ICaptureSession::isRepeating |
( |
| ) |
const |
|
pure virtual |
Returns true if there is a streaming request in place.
◆ maxBurstRequests()
virtual uint32_t Argus::ICaptureSession::maxBurstRequests |
( |
| ) |
const |
|
pure virtual |
Returns the maximum number of capture requests that can be included in a burst capture.
◆ repeat()
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.
◆ repeatBurst()
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.
◆ stopRepeat()
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.
◆ waitForIdle()
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: