OutputConfiguration Constructors
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
OutputConfiguration(Surface) |
Create a new |
OutputConfiguration(Size, Class) |
Create a new |
OutputConfiguration(Int32, Surface) |
Create a new |
OutputConfiguration(Surface)
Create a new OutputConfiguration
instance with a Surface
.
[Android.Runtime.Register(".ctor", "(Landroid/view/Surface;)V", "", ApiSince=24)]
public OutputConfiguration (Android.Views.Surface surface);
[<Android.Runtime.Register(".ctor", "(Landroid/view/Surface;)V", "", ApiSince=24)>]
new Android.Hardware.Camera2.Params.OutputConfiguration : Android.Views.Surface -> Android.Hardware.Camera2.Params.OutputConfiguration
Parameters
- surface
- Surface
A Surface for camera to output to.
<p>This constructor creates a default configuration, with a surface group ID of
<code data-dev-comment-type="c">#SURFACE_GROUP_ID_NONE</code>.</p>
- Attributes
Remarks
Create a new OutputConfiguration
instance with a Surface
.
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.
Applies to
OutputConfiguration(Size, Class)
Create a new OutputConfiguration
instance, with desired Surface size and Surface
source class.
[Android.Runtime.Register(".ctor", "(Landroid/util/Size;Ljava/lang/Class;)V", "", ApiSince=26)]
public OutputConfiguration (Android.Util.Size surfaceSize, Java.Lang.Class klass);
[<Android.Runtime.Register(".ctor", "(Landroid/util/Size;Ljava/lang/Class;)V", "", ApiSince=26)>]
new Android.Hardware.Camera2.Params.OutputConfiguration : Android.Util.Size * Java.Lang.Class -> Android.Hardware.Camera2.Params.OutputConfiguration
Parameters
- surfaceSize
- Size
Size for the deferred surface.
- klass
- Class
a non-null
Class
object reference that indicates the source of
this surface. Only android.view.SurfaceHolder SurfaceHolder.class
and
android.graphics.SurfaceTexture SurfaceTexture.class
are supported.
- Attributes
Remarks
Create a new OutputConfiguration
instance, with desired Surface size and Surface source class.
This constructor takes an argument for desired Surface size and the Surface source class without providing the actual output Surface. This is used to setup an output configuration with a deferred Surface. The application can use this output configuration to create a session.
However, the actual output Surface must be set via #addSurface
and the deferred Surface configuration must be finalized via CameraCaptureSession#finalizeOutputConfigurations
before submitting a request with this Surface target. The deferred Surface can only be obtained either from android.view.SurfaceView
by calling android.view.SurfaceHolder#getSurface
, or from android.graphics.SurfaceTexture
via android.view.Surface#Surface(android.graphics.SurfaceTexture)
).
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.
Applies to
OutputConfiguration(Int32, Surface)
Create a new OutputConfiguration
instance with a Surface
,
with a surface group ID.
[Android.Runtime.Register(".ctor", "(ILandroid/view/Surface;)V", "", ApiSince=24)]
public OutputConfiguration (int surfaceGroupId, Android.Views.Surface surface);
[<Android.Runtime.Register(".ctor", "(ILandroid/view/Surface;)V", "", ApiSince=24)>]
new Android.Hardware.Camera2.Params.OutputConfiguration : int * Android.Views.Surface -> Android.Hardware.Camera2.Params.OutputConfiguration
Parameters
- surfaceGroupId
- Int32
A group ID for this output, used for sharing memory between multiple outputs.
- surface
- Surface
A Surface for camera to output to.
- Attributes
Remarks
Create a new OutputConfiguration
instance with a Surface
, with a surface group ID.
A surface group ID is used to identify which surface group this output surface belongs to. A surface group is a group of output surfaces that are not intended to receive camera output buffer streams simultaneously. The CameraDevice
may be able to share the buffers used by all the surfaces from the same surface group, therefore may reduce the overall memory footprint. The application should only set the same set ID for the streams that are not simultaneously streaming. A negative ID indicates that this surface doesn't belong to any surface group. The default value is #SURFACE_GROUP_ID_NONE
.
For example, a video chat application that has an adaptive output resolution feature would need two (or more) output resolutions, to switch resolutions without any output glitches. However, at any given time, only one output is active to minimize outgoing network bandwidth and encoding overhead. To save memory, the application should set the video outputs to have the same non-negative group ID, so that the camera device can share the same memory region for the alternating outputs.
It is not an error to include output streams with the same group ID in the same capture request, but the resulting memory consumption may be higher than if the two streams were not in the same surface group to begin with, especially if the outputs have substantially different dimensions.
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.