/* * Copyright (C) 2018 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except compliance with the License. * You may obtaa copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to 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.frameworks.cameraservice.device@2.0; interface ICameraDeviceCallback { /** * Callback called when the device encounters an error. * * @param errorCode the error code corresponding to the error. * @param resultExtras data structure containing information about the * frame number, request id, etc, of the request on which the device * error occured, in case the errorCode was CAMERA_BUFFER. */ oneway onDeviceError(ErrorCode errorCode, CaptureResultExtras resultExtras); /** * Callback called when the device is idle. */ oneway onDeviceIdle(); /** * Callback called when capture starts. * * @param resultExtras data structure containing information about the * frame number, request id, etc, of the request. * @param timestamp corresponding to the start (in nanoseconds) */ oneway onCaptureStarted(CaptureResultExtras resultExtras, uint64_t timestamp); /** * Callback called when a capture request is completed. * * Note: The framework must call this callback serially if it opts to * utilize an fmq for either the result metadata and/or any of the * physicalCaptureResultInfo.physicalCameraMetadata values. * * @param result result metadata * @param resultExtras data structure containing information about the * frame number, request id, etc of the request. * @param physicalCaptureResultInfos a list of physicalCaptureResultInfo, * which contains the camera id and metadata related to the physical * cameras involved for the particular capture request, if any. */ onResultReceived( FmqSizeOrMetadata result, CaptureResultExtras resultExtras, vec physicalCaptureResultInfos); /** * Repeating request encountered an error and was stopped. * * @param lastFrameNumber Frame number of the last frame of the streaming * request. * @param repeatingRequestId the ID of the repeating request * being stopped */ oneway onRepeatingRequestError(uint64_t lastFrameNumber, int32_t repeatingRequestId); };