ImageWriter.Builder
public
static
final
class
ImageWriter.Builder
extends Object
| java.lang.Object | |
| ↳ | android.media.ImageWriter.Builder |
Builder class for ImageWriter objects.
Summary
Public constructors | |
|---|---|
Builder(Surface surface)
Constructs a new builder for |
|
Public methods | |
|---|---|
ImageWriter
|
build()
Builds a new ImageWriter object. |
ImageWriter.Builder
|
setDataSpace(int dataSpace)
Set the dataspace of this ImageWriter. |
ImageWriter.Builder
|
setHardwareBufferFormat(int hardwareBufferFormat)
Set the hardwareBuffer format of this ImageWriter. |
ImageWriter.Builder
|
setImageFormat(int imageFormat)
Set the image format of this ImageWriter. |
ImageWriter.Builder
|
setMaxImages(int maxImages)
Set the maximum number of images. |
ImageWriter.Builder
|
setUsage(long usage)
Set the usage flag of this ImageWriter. |
ImageWriter.Builder
|
setWidthAndHeight(int width, int height)
Set the width and height of images. |
Inherited methods | |
|---|---|
Public constructors
Builder
public Builder (Surface surface)
Constructs a new builder for ImageWriter.
| Parameters | |
|---|---|
surface |
Surface: The destination Surface this writer produces Image data into.
This value cannot be null. |
| Throws | |
|---|---|
IllegalArgumentException |
if the surface is already abandoned. |
Public methods
build
public ImageWriter build ()
Builds a new ImageWriter object.
| Returns | |
|---|---|
ImageWriter |
The new ImageWriter object.
This value cannot be null. |
setDataSpace
public ImageWriter.Builder setDataSpace (int dataSpace)
Set the dataspace of this ImageWriter.
The default value is DataSpace.DATASPACE_UNKNOWN.
| Parameters | |
|---|---|
dataSpace |
int: The dataspace of the image that this writer will produce.
Value is either 0 or a combination of DataSpace.DATASPACE_DEPTH, DataSpace.DATASPACE_DYNAMIC_DEPTH, DataSpace.DATASPACE_HEIF, DataSpace.DATASPACE_HEIF_ULTRAHDR, DataSpace.DATASPACE_JPEG_R, DataSpace.DATASPACE_UNKNOWN, DataSpace.DATASPACE_SCRGB_LINEAR, DataSpace.DATASPACE_SRGB, DataSpace.DATASPACE_SCRGB, DataSpace.DATASPACE_DISPLAY_P3, DataSpace.DATASPACE_BT2020_HLG, DataSpace.DATASPACE_BT2020_PQ, DataSpace.DATASPACE_ADOBE_RGB, DataSpace.DATASPACE_JFIF, DataSpace.DATASPACE_BT601_625, DataSpace.DATASPACE_BT601_525, DataSpace.DATASPACE_BT2020, DataSpace.DATASPACE_BT709, DataSpace.DATASPACE_DCI_P3, DataSpace.DATASPACE_SRGB_LINEAR, and android.hardware.DataSpace.DATASPACE_DISPLAY_BT2020 |
| Returns | |
|---|---|
ImageWriter.Builder |
the builder instance with customized dataspace value.
This value cannot be null. |
See also:
setHardwareBufferFormat
public ImageWriter.Builder setHardwareBufferFormat (int hardwareBufferFormat)
Set the hardwareBuffer format of this ImageWriter. The default value is
HardwareBuffer.RGBA_8888.
This function works together with setDataSpace(int) for an
ImageWriter instance. Setting at least one of these two replaces
setImageFormat(int) function.
| Parameters | |
|---|---|
hardwareBufferFormat |
int: The HardwareBuffer format of the image that this writer
will produce.
Value is HardwareBuffer.RGBA_8888, HardwareBuffer.RGBA_FP16, HardwareBuffer.RGBA_1010102, HardwareBuffer.RGBX_8888, HardwareBuffer.RGB_888, HardwareBuffer.RGB_565, HardwareBuffer.BLOB, HardwareBuffer.YCBCR_420_888, HardwareBuffer.D_16, HardwareBuffer.D_24, HardwareBuffer.DS_24UI8, HardwareBuffer.D_FP32, HardwareBuffer.DS_FP32UI8, HardwareBuffer.S_UI8, HardwareBuffer.YCBCR_P010, HardwareBuffer.YCBCR_P210, HardwareBuffer.R_8, HardwareBuffer.R_16, HardwareBuffer.RG_1616, HardwareBuffer.RGBA_10101010, android.hardware.HardwareBuffer.R_12, android.hardware.HardwareBuffer.R_14, android.hardware.HardwareBuffer.RG_1212, android.hardware.HardwareBuffer.RG_1414, android.hardware.HardwareBuffer.RGBA_12121212, android.hardware.HardwareBuffer.RGBA_14141414, android.hardware.HardwareBuffer.BGRA_1010102, or android.hardware.HardwareBuffer.BGRX_1010102 |
| Returns | |
|---|---|
ImageWriter.Builder |
the Builder instance with customized buffer format.
This value cannot be null. |
See also:
setImageFormat
public ImageWriter.Builder setImageFormat (int imageFormat)
Set the image format of this ImageWriter. Default format depends on the Surface provided.
| Parameters | |
|---|---|
imageFormat |
int: The format of the ImageWriter. It can be any valid specified
by ImageFormat or PixelFormat.
Value is ImageFormat.UNKNOWN, PixelFormat.RGBA_8888, PixelFormat.RGBX_8888, PixelFormat.RGB_888, ImageFormat.RGB_565, ImageFormat.YV12, ImageFormat.Y8, android.graphics.ImageFormat.Y16, ImageFormat.YCBCR_P010, ImageFormat.YCBCR_P210, ImageFormat.NV16, ImageFormat.NV21, ImageFormat.YUY2, ImageFormat.JPEG, ImageFormat.DEPTH_JPEG, ImageFormat.YUV_420_888, ImageFormat.YUV_422_888, ImageFormat.YUV_444_888, ImageFormat.FLEX_RGB_888, ImageFormat.FLEX_RGBA_8888, ImageFormat.RAW_SENSOR, ImageFormat.RAW_PRIVATE, ImageFormat.RAW10, ImageFormat.RAW12, ImageFormat.DEPTH16, ImageFormat.DEPTH_POINT_CLOUD, android.graphics.ImageFormat.RAW_DEPTH, android.graphics.ImageFormat.RAW_DEPTH10, ImageFormat.PRIVATE, ImageFormat.HEIC, ImageFormat.HEIC_ULTRAHDR, or ImageFormat.JPEG_R |
| Returns | |
|---|---|
ImageWriter.Builder |
the Builder instance with customized image format.
This value cannot be null. |
| Throws | |
|---|---|
IllegalArgumentException |
if imageFormat is invalid. |
setMaxImages
public ImageWriter.Builder setMaxImages (int maxImages)
Set the maximum number of images. Default value is 1.
| Parameters | |
|---|---|
maxImages |
int: The maximum number of Images the user will want to access simultaneously
for producing Image data.
Value is 1 or greater |
| Returns | |
|---|---|
ImageWriter.Builder |
the Builder instance with customized usage value.
This value cannot be null. |
setUsage
public ImageWriter.Builder setUsage (long usage)
Set the usage flag of this ImageWriter.
If this function is not called, usage bit will be set
to HardwareBuffer.USAGE_CPU_WRITE_OFTEN if the image format is not
PRIVATE.
| Parameters | |
|---|---|
usage |
long: The intended usage of the images produced by this ImageWriter.
Value is either 0 or a combination of HardwareBuffer.USAGE_CPU_READ_RARELY, HardwareBuffer.USAGE_CPU_READ_OFTEN, HardwareBuffer.USAGE_CPU_WRITE_RARELY, HardwareBuffer.USAGE_CPU_WRITE_OFTEN, HardwareBuffer.USAGE_GPU_SAMPLED_IMAGE, HardwareBuffer.USAGE_GPU_COLOR_OUTPUT, HardwareBuffer.USAGE_COMPOSER_OVERLAY, HardwareBuffer.USAGE_PROTECTED_CONTENT, HardwareBuffer.USAGE_VIDEO_ENCODE, HardwareBuffer.USAGE_GPU_DATA_BUFFER, HardwareBuffer.USAGE_SENSOR_DIRECT_DATA, HardwareBuffer.USAGE_GPU_CUBE_MAP, HardwareBuffer.USAGE_GPU_MIPMAP_COMPLETE, and HardwareBuffer.USAGE_FRONT_BUFFER |
| Returns | |
|---|---|
ImageWriter.Builder |
the Builder instance with customized usage flag.
This value cannot be null. |
See also:
setWidthAndHeight
public ImageWriter.Builder setWidthAndHeight (int width, int height)
Set the width and height of images. Default size is dependent on the Surface that is provided by the downstream end-point.
| Parameters | |
|---|---|
width |
int: The width in pixels that will be passed to the producer.
Value is 1 or greater |
height |
int: The height in pixels that will be passed to the producer.
Value is 1 or greater |
| Returns | |
|---|---|
ImageWriter.Builder |
the Builder instance with customized width and height.
This value cannot be null. |