1 /**
2  * Copyright (c) 2020, The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package android.hardware.camera2.extension;
17 
18 import android.hardware.camera2.impl.CameraMetadataNative;
19 
20 import android.hardware.camera2.extension.CaptureStageImpl;
21 import android.hardware.camera2.extension.ICaptureProcessorImpl;
22 import android.hardware.camera2.extension.LatencyPair;
23 import android.hardware.camera2.extension.LatencyRange;
24 import android.hardware.camera2.extension.Size;
25 import android.hardware.camera2.extension.SizeList;
26 
27 import android.os.IBinder;
28 
29 /** @hide */
30 interface IImageCaptureExtenderImpl
31 {
onInit(in IBinder token, in String cameraId, in CameraMetadataNative cameraCharacteristics)32     void onInit(in IBinder token, in String cameraId, in CameraMetadataNative cameraCharacteristics);
onDeInit(in IBinder token)33     void onDeInit(in IBinder token);
onPresetSession()34     @nullable CaptureStageImpl onPresetSession();
onEnableSession()35     @nullable CaptureStageImpl onEnableSession();
onDisableSession()36     @nullable CaptureStageImpl onDisableSession();
getSessionType()37     int getSessionType();
38 
isExtensionAvailable(in String cameraId, in CameraMetadataNative chars)39     boolean isExtensionAvailable(in String cameraId, in CameraMetadataNative chars);
init(in String cameraId, in CameraMetadataNative chars)40     void init(in String cameraId, in CameraMetadataNative chars);
getCaptureProcessor()41     @nullable ICaptureProcessorImpl getCaptureProcessor();
getCaptureStages()42     @nullable List<CaptureStageImpl> getCaptureStages();
getMaxCaptureStage()43     int getMaxCaptureStage();
getSupportedResolutions()44     @nullable List<SizeList> getSupportedResolutions();
getSupportedPostviewResolutions(in Size captureSize)45     @nullable List<SizeList> getSupportedPostviewResolutions(in Size captureSize);
getEstimatedCaptureLatencyRange(in Size outputSize)46     LatencyRange getEstimatedCaptureLatencyRange(in Size outputSize);
getAvailableCaptureRequestKeys()47     CameraMetadataNative getAvailableCaptureRequestKeys();
getAvailableCaptureResultKeys()48     CameraMetadataNative getAvailableCaptureResultKeys();
isCaptureProcessProgressAvailable()49     boolean isCaptureProcessProgressAvailable();
getRealtimeCaptureLatency()50     @nullable LatencyPair getRealtimeCaptureLatency();
isPostviewAvailable()51     boolean isPostviewAvailable();
52 }
53