Share via


RecommendedStreamConfigurationMap Class

Definition

Immutable class to store the recommended stream configurations to set up android.view.Surface Surfaces for creating a android.hardware.camera2.CameraCaptureSession capture session with android.hardware.camera2.CameraDevice#createCaptureSession.

[Android.Runtime.Register("android/hardware/camera2/params/RecommendedStreamConfigurationMap", ApiSince=29, DoNotGenerateAcw=true)]
public sealed class RecommendedStreamConfigurationMap : Java.Lang.Object
[<Android.Runtime.Register("android/hardware/camera2/params/RecommendedStreamConfigurationMap", ApiSince=29, DoNotGenerateAcw=true)>]
type RecommendedStreamConfigurationMap = class
    inherit Object
Inheritance
RecommendedStreamConfigurationMap
Attributes

Remarks

Immutable class to store the recommended stream configurations to set up android.view.Surface Surfaces for creating a android.hardware.camera2.CameraCaptureSession capture session with android.hardware.camera2.CameraDevice#createCaptureSession.

The recommended list does not replace or deprecate the exhaustive complete list found in StreamConfigurationMap. It is a suggestion about available power and performance efficient stream configurations for a specific use case. Per definition it is only a subset of StreamConfigurationMap and can be considered by developers for optimization purposes.

This also duplicates the minimum frame durations and stall durations from the StreamConfigurationMap for each format/size combination that can be used to calculate effective frame rate when submitting multiple captures.

An instance of this object is available by invoking CameraCharacteristics#getRecommendedStreamConfigurationMap and passing a respective usecase id. For more information about supported use case constants see #USECASE_PREVIEW.

<code>{@code
            CameraCharacteristics characteristics = cameraManager.getCameraCharacteristics(cameraId);
            RecommendedStreamConfigurationMap configs = characteristics.getRecommendedStreamConfigurationMap(
                    RecommendedStreamConfigurationMap.USECASE_PREVIEW);
            }</code>

Java documentation for android.hardware.camera2.params.RecommendedStreamConfigurationMap.

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

Fields

Usecase10bitOutput
Obsolete.

If supported, the recommended 10-bit output stream configurations must include a subset of the advertised android.graphics.ImageFormat#YCBCR_P010 and android.graphics.ImageFormat#PRIVATE outputs that are optimized for power and performance when registered along with a supported 10-bit dynamic range profile.

UsecaseLowLatencySnapshot
Obsolete.

The recommended stream configuration map for use case low latency snapshot must contain subset of configurations with end-to-end latency that does not exceed 200 ms.

UsecasePreview
Obsolete.

The recommended stream configuration map for use case preview must contain a subset of efficient, non-stalling configurations that must include both android.graphics.ImageFormat#PRIVATE and android.graphics.ImageFormat#YUV_420_888 output formats.

UsecaseRaw
Obsolete.

In case the device supports android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_RAW, the recommended stream configuration map for use case RAW must contain a subset of efficient configurations that include the android.graphics.ImageFormat#RAW_SENSOR and other RAW output formats.

UsecaseRecord
Obsolete.

The recommended stream configuration map for recording must contain a subset of efficient video configurations that include android.graphics.ImageFormat#PRIVATE output format for at least all supported android.media.CamcorderProfile profiles.

UsecaseSnapshot
Obsolete.

The recommended stream configuration map for use case snapshot must contain a subset of efficient still capture configurations that must include android.graphics.ImageFormat#JPEG output format and at least one configuration with size approximately equal to the sensor pixel array size CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE.

UsecaseVideoSnapshot
Obsolete.

The recommended stream configuration map for use case video snapshot must only contain a subset of efficient liveshot configurations that include android.graphics.ImageFormat#JPEG output format.

UsecaseZsl
Obsolete.

In case the device supports CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING and/or CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING, the recommended stream configuration map for use case ZSL must contain a subset of efficient configurations that include the suggested input and output format mappings.

Properties

Class

Returns the runtime class of this Object.

(Inherited from Object)
Handle

The handle to the underlying Android instance.

(Inherited from Object)
HighSpeedVideoFpsRanges

Get a list of supported high speed video recording FPS ranges.

HighSpeedVideoSizes

Get a list of supported high speed video recording sizes.

InputFormats

Get the image format input formats in this stream configuration.

JniIdentityHashCode (Inherited from Object)
JniPeerMembers
OutputFormats

Get the image format output formats in this stream configuration.

PeerReference (Inherited from Object)
RecommendedUseCase

Get the use case value for the recommended stream configurations.

ThresholdClass

This API supports the Mono for Android infrastructure and is not intended to be used directly from your code.

(Inherited from Object)
ThresholdType

This API supports the Mono for Android infrastructure and is not intended to be used directly from your code.

(Inherited from Object)

Methods

Clone()

Creates and returns a copy of this object.

(Inherited from Object)
Dispose() (Inherited from Object)
Dispose(Boolean) (Inherited from Object)
Equals(Object)

Indicates whether some other object is "equal to" this one.

(Inherited from Object)
GetHashCode()

Returns a hash code value for the object.

(Inherited from Object)
GetHighResolutionOutputSizes(Int32)

Get a list of supported high resolution sizes, which cannot operate at full BURST_CAPTURE rate.

GetHighSpeedVideoFpsRangesFor(Size)

Get the frame per second ranges (fpsMin, fpsMax) for input high speed video size.

GetHighSpeedVideoSizesFor(Range)

Get the supported video sizes for an input high speed FPS range.

GetInputSizes(Int32)

Get the supported input sizes for this input format.

GetOutputMinFrameDuration(Class, Size)

Get the minimum CaptureRequest#SENSOR_FRAME_DURATION frame duration for the class/size combination (in nanoseconds).

GetOutputMinFrameDuration(Int32, Size)

Get the minimum android.hardware.camera2.CaptureRequest#SENSOR_FRAME_DURATION frame duration for the format/size combination (in nanoseconds).

GetOutputSizes(Class)

Get a list of sizes compatible with klass to use as an output.

GetOutputSizes(Int32)

Get a list of sizes compatible with the requested image format.

GetOutputStallDuration(Class, Size)

Get the stall duration for the class/size combination (in nanoseconds).

GetOutputStallDuration(Int32, Size)

Get the stall duration for the format/size combination (in nanoseconds).

GetValidOutputFormatsForInput(ImageFormatType)

Get the image format output formats for a reprocessing input format.

IsOutputSupportedFor(Int32)

Determine whether or not output surfaces with a particular user-defined format can be passed CameraDevice#createCaptureSession createCaptureSession.

IsOutputSupportedFor(Surface)

Determine whether or not the surface in its current state is suitable to be included in a CameraDevice#createCaptureSession capture session as an output.

JavaFinalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

(Inherited from Object)
Notify()

Wakes up a single thread that is waiting on this object's monitor.

(Inherited from Object)
NotifyAll()

Wakes up all threads that are waiting on this object's monitor.

(Inherited from Object)
SetHandle(IntPtr, JniHandleOwnership)

Sets the Handle property.

(Inherited from Object)
ToArray<T>() (Inherited from Object)
ToString()

Returns a string representation of the object.

(Inherited from Object)
UnregisterFromRuntime() (Inherited from Object)
Wait()

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>.

(Inherited from Object)
Wait(Int64, Int32)

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed.

(Inherited from Object)
Wait(Int64)

Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed.

(Inherited from Object)

Explicit Interface Implementations

IJavaPeerable.Disposed() (Inherited from Object)
IJavaPeerable.DisposeUnlessReferenced() (Inherited from Object)
IJavaPeerable.Finalized() (Inherited from Object)
IJavaPeerable.JniManagedPeerState (Inherited from Object)
IJavaPeerable.SetJniIdentityHashCode(Int32) (Inherited from Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) (Inherited from Object)
IJavaPeerable.SetPeerReference(JniObjectReference) (Inherited from Object)

Extension Methods

JavaCast<TResult>(IJavaObject)

Performs an Android runtime-checked type conversion.

JavaCast<TResult>(IJavaObject)
GetJniTypeName(IJavaPeerable)

Applies to