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

Commit ba425af6 authored by Kwangkyu Park's avatar Kwangkyu Park
Browse files

Camera: relay sync fence to vendor library

Currently, a sync fence from ParcelImage is not relayed to a vendor
library. However, a fence might be required to implement a service-based
vendor library.

This patch will make changes to dup/provide a fence to the vendor
library.

Bug: 363229739
Test: Manual test with service based vendor library
Change-Id: Iecc30e4a2523f64aa36271a75f67bf805c7b9a79
parent 34eacbbf
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.content.pm.PackageManager;
import android.graphics.GraphicBuffer;
import android.graphics.Rect;
import android.hardware.HardwareBuffer;
import android.hardware.SyncFence;
import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CameraExtensionCharacteristics;
@@ -2460,6 +2461,19 @@ public class CameraExtensionsProxyService extends Service {
            return mPlanes.clone();
        }

        @Override
        public SyncFence getFence() {
            if (mParcelImage.fence != null) {
                try {
                    return SyncFence.create(mParcelImage.fence.dup());
                } catch (IOException e) {
                    Log.e(TAG, "Failed to parcel buffer fence!");
                }
            }

            return SyncFence.createEmpty();
        }

        @Override
        protected final void finalize() throws Throwable {
            try {