public
static
abstract
class
CameraCaptureSession.StateCallback
extends Object
java.lang.Object | |
↳ | android.hardware.camera2.CameraCaptureSession.StateCallback |
A callback object for receiving updates about the state of a camera capture session.
Public constructors | |
---|---|
CameraCaptureSession.StateCallback()
|
Public methods | |
---|---|
void
|
onActive(CameraCaptureSession session)
This method is called when the session starts actively processing capture requests. |
void
|
onClosed(CameraCaptureSession session)
This method is called when the session is closed. |
abstract
void
|
onConfigureFailed(CameraCaptureSession session)
This method is called if the session cannot be configured as requested. |
abstract
void
|
onConfigured(CameraCaptureSession session)
This method is called when the camera device has finished configuring itself, and the session can start processing capture requests. |
void
|
onReady(CameraCaptureSession session)
This method is called every time the session has no more capture requests to process. |
void
|
onSurfacePrepared(CameraCaptureSession session, Surface surface)
This method is called when the buffer pre-allocation for an output Surface is complete. |
Inherited methods | |
---|---|
From
class
java.lang.Object
|
void onActive (CameraCaptureSession session)
This method is called when the session starts actively processing capture requests.
If capture requests are submitted prior to onConfigured(CameraCaptureSession)
being called,
then the session will start processing those requests immediately after the callback,
and this method will be immediately called after onConfigured(CameraCaptureSession)
.
If the session runs out of capture requests to process and calls onReady(CameraCaptureSession)
,
then this callback will be invoked again once new requests are submitted for capture.
Parameters | |
---|---|
session |
CameraCaptureSession :
the session returned by createCaptureSession(List
|
void onClosed (CameraCaptureSession session)
This method is called when the session is closed.
A session is closed when a new session is created by the parent camera device, or when the parent camera device is closed (either by the user closing the device, or due to a camera device disconnection or fatal error).
Once a session is closed, all methods on it will throw an IllegalStateException, and
any repeating requests or bursts are stopped (as if stopRepeating()
was called).
However, any in-progress capture requests submitted to the session will be completed
as normal.
Parameters | |
---|---|
session |
CameraCaptureSession :
the session returned by createCaptureSession(List
|
void onConfigureFailed (CameraCaptureSession session)
This method is called if the session cannot be configured as requested.
This can happen if the set of requested outputs contains unsupported sizes, or too many outputs are requested at once.
The session is considered to be closed, and all methods called on it after this callback is invoked will throw an IllegalStateException. Any capture requests submitted to the session prior to this callback will be discarded and will not produce any callbacks on their listeners.
Parameters | |
---|---|
session |
CameraCaptureSession :
the session returned by createCaptureSession(List
|
void onConfigured (CameraCaptureSession session)
This method is called when the camera device has finished configuring itself, and the session can start processing capture requests.
If there are capture requests already queued with the session, they will start
processing once this callback is invoked, and the session will call onActive(CameraCaptureSession)
right after this callback is invoked.
If no capture requests have been submitted, then the session will invoke
onReady(CameraCaptureSession)
right after this callback.
If the camera device configuration fails, then onConfigureFailed(CameraCaptureSession)
will
be invoked instead of this callback.
Parameters | |
---|---|
session |
CameraCaptureSession :
the session returned by createCaptureSession(List
|
void onReady (CameraCaptureSession session)
This method is called every time the session has no more capture requests to process.
During the creation of a new session, this callback is invoked right after
onConfigured(CameraCaptureSession)
if no capture requests were submitted to the session prior to it
completing configuration.
Otherwise, this callback will be invoked any time the session finishes processing all of its active capture requests, and no repeating request or burst is set up.
Parameters | |
---|---|
session |
CameraCaptureSession :
the session returned by createCaptureSession(List
|
void onSurfacePrepared (CameraCaptureSession session, Surface surface)
This method is called when the buffer pre-allocation for an output Surface is complete.
Buffer pre-allocation for an output Surface is started by the prepare(Surface)
call.
While allocation is underway, the Surface must not be used as a capture target.
Once this callback fires, the output Surface provided can again be used as a target for
a capture request.
In case of a error during pre-allocation (such as running out of suitable memory), this callback is still invoked after the error is encountered, though some buffers may not have been successfully pre-allocated.
Parameters | |
---|---|
session |
CameraCaptureSession :
the session returned by createCaptureSession(List |
surface |
Surface :
the Surface that was used with the prepare(Surface) call.
|