1 /**
2  * Copyright (c) 2021, 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.CaptureRequest;
21 import android.hardware.camera2.extension.CameraSessionConfig;
22 import android.hardware.camera2.extension.ICaptureCallback;
23 import android.hardware.camera2.extension.IRequestProcessorImpl;
24 import android.hardware.camera2.extension.LatencyPair;
25 import android.hardware.camera2.extension.LatencyRange;
26 import android.hardware.camera2.extension.OutputSurface;
27 
28 import android.os.IBinder;
29 
30 /** @hide */
31 interface ISessionProcessorImpl
32 {
initSession(in IBinder token, in String cameraId, in Map<String, CameraMetadataNative> charsMap, in OutputSurface previewSurface, in OutputSurface imageCaptureSurface, in OutputSurface postviewSurface)33     CameraSessionConfig initSession(in IBinder token, in String cameraId,
34             in Map<String, CameraMetadataNative> charsMap, in OutputSurface previewSurface,
35             in OutputSurface imageCaptureSurface, in OutputSurface postviewSurface);
deInitSession(in IBinder token)36     void deInitSession(in IBinder token);
onCaptureSessionStart(IRequestProcessorImpl requestProcessor)37     void onCaptureSessionStart(IRequestProcessorImpl requestProcessor);
onCaptureSessionEnd()38     void onCaptureSessionEnd();
startRepeating(in ICaptureCallback callback)39     int startRepeating(in ICaptureCallback callback);
stopRepeating()40     void stopRepeating();
startCapture(in ICaptureCallback callback, in boolean isPostviewRequested)41     int startCapture(in ICaptureCallback callback, in boolean isPostviewRequested);
setParameters(in CaptureRequest captureRequest)42     void setParameters(in CaptureRequest captureRequest);
startTrigger(in CaptureRequest captureRequest, in ICaptureCallback callback)43     int startTrigger(in CaptureRequest captureRequest, in ICaptureCallback callback);
getRealtimeCaptureLatency()44     @nullable LatencyPair getRealtimeCaptureLatency();
45 }
46