blob: 4b288e2fb225899f82feafa8e05f1dd9cf8d6e62 [file] [log] [blame]
/*
* 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<PhysicalCaptureResultInfo> 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);
};