All Downloads are FREE. Search and download functionalities are using the official Maven repository.

android.hardware.camera2.TotalCaptureResult Maven / Gradle / Ivy

Go to download

A library jar that provides APIs for Applications written for the Google Android Platform.

There is a newer version: 14-robolectric-10818077
Show newest version
/*
 * Copyright (C) 2014 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.hardware.camera2;

import android.hardware.camera2.impl.CameraMetadataNative;
import android.hardware.camera2.impl.CaptureResultExtras;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * 

The total assembled results of a single image capture from the image sensor.

* *

Contains the final configuration for the capture hardware (sensor, lens, * flash), the processing pipeline, the control algorithms, and the output * buffers.

* *

A {@code TotalCaptureResult} is produced by a {@link CameraDevice} after processing a * {@link CaptureRequest}. All properties listed for capture requests can also * be queried on the capture result, to determine the final values used for * capture. The result also includes additional metadata about the state of the * camera device during the capture.

* *

All properties returned by {@link CameraCharacteristics#getAvailableCaptureResultKeys()} * are available (that is {@link CaptureResult#get} will return non-{@code null}, if and only if * that key that was enabled by the request. A few keys such as * {@link CaptureResult#STATISTICS_FACES} are disabled by default unless enabled with a switch (such * as {@link CaptureRequest#STATISTICS_FACE_DETECT_MODE}). Refer to each key documentation on * a case-by-case basis.

* *

{@link TotalCaptureResult} objects are immutable.

* * @see CameraDevice.CaptureCallback#onCaptureCompleted */ public final class TotalCaptureResult extends CaptureResult { private final List mPartialResults; /** * Takes ownership of the passed-in camera metadata and the partial results * * @param partials a list of partial results; {@code null} will be substituted for an empty list * @hide */ public TotalCaptureResult(CameraMetadataNative results, CaptureRequest parent, CaptureResultExtras extras, List partials) { super(results, parent, extras); if (partials == null) { mPartialResults = new ArrayList<>(); } else { mPartialResults = partials; } } /** * Creates a request-less result. * *

For testing only.

* @hide */ public TotalCaptureResult(CameraMetadataNative results, int sequenceId) { super(results, sequenceId); mPartialResults = new ArrayList<>(); } /** * Get the read-only list of partial results that compose this total result. * *

The list is returned is unmodifiable; attempting to modify it will result in a * {@code UnsupportedOperationException} being thrown.

* *

The list size will be inclusive between {@code 0} and * {@link CameraCharacteristics#REQUEST_PARTIAL_RESULT_COUNT}, with elements in ascending order * of when {@link CameraCaptureSession.CaptureCallback#onCaptureProgressed} was invoked.

* * @return unmodifiable list of partial results */ public List getPartialResults() { return Collections.unmodifiableList(mPartialResults); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy