Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b978c389 authored by Yin-Chia Yeh's avatar Yin-Chia Yeh
Browse files

Camera: add offline session API skeleton

Test: N/A, no implementation yet
Bug: 135142453
Change-Id: I497e42433d4d49466fe37467d4ff66e8583c55df
parent 68e5e9a6
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -85,6 +85,7 @@ filegroup {
        "aidl/android/hardware/ICameraServiceProxy.aidl",
        "aidl/android/hardware/camera2/ICameraDeviceCallbacks.aidl",
        "aidl/android/hardware/camera2/ICameraDeviceUser.aidl",
        "aidl/android/hardware/camera2/ICameraOfflineSession.aidl",
    ],
    path: "aidl",
}
+13 −0
Original line number Diff line number Diff line
@@ -17,6 +17,8 @@
package android.hardware.camera2;

import android.hardware.camera2.CaptureRequest;
import android.hardware.camera2.ICameraDeviceCallbacks;
import android.hardware.camera2.ICameraOfflineSession;
import android.hardware.camera2.impl.CameraMetadataNative;
import android.hardware.camera2.params.OutputConfiguration;
import android.hardware.camera2.params.SessionConfiguration;
@@ -177,4 +179,15 @@ interface ICameraDeviceUser
      * @return the currently applied system-wide audio restriction mode
      */
    int getGlobalAudioRestriction();

    /**
     * Offline processing main entry point
     *
     * @param callbacks Object that will receive callbacks from offline session
     * @param offlineOutputIds The ID of streams that needs to be preserved in offline session
     *
     * @return Offline session object.
     */
    ICameraOfflineSession switchToOffline(in ICameraDeviceCallbacks callbacks,
            in Surface[] offlineOutputs);
}
+23 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2019 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;

 /** @hide */
interface ICameraOfflineSession
{
    void disconnect();
}
+1 −1
Original line number Diff line number Diff line
@@ -1311,7 +1311,7 @@ typedef enum acamera_metadata_tag {
    /**
     * <p>List of the maximum number of regions that can be used for metering in
     * auto-exposure (AE), auto-white balance (AWB), and auto-focus (AF);
     * this corresponds to the the maximum number of elements in
     * this corresponds to the maximum number of elements in
     * ACAMERA_CONTROL_AE_REGIONS, ACAMERA_CONTROL_AWB_REGIONS,
     * and ACAMERA_CONTROL_AF_REGIONS.</p>
     *
+3 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ cc_library_shared {
        "CameraFlashlight.cpp",
        "common/Camera2ClientBase.cpp",
        "common/CameraDeviceBase.cpp",
        "common/CameraOfflineSessionBase.cpp",
        "common/CameraProviderManager.cpp",
        "common/FrameProcessorBase.cpp",
        "api1/CameraClient.cpp",
@@ -45,6 +46,7 @@ cc_library_shared {
        "api2/HeicCompositeStream.cpp",
        "device1/CameraHardwareInterface.cpp",
        "device3/Camera3Device.cpp",
        "device3/Camera3OfflineSession.cpp",
        "device3/Camera3Stream.cpp",
        "device3/Camera3IOStreamBase.cpp",
        "device3/Camera3InputStream.cpp",
@@ -110,6 +112,7 @@ cc_library_shared {
        "android.hardware.camera.device@3.3",
        "android.hardware.camera.device@3.4",
        "android.hardware.camera.device@3.5",
        "android.hardware.camera.device@3.6"
    ],

    export_shared_lib_headers: [
Loading