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

Commit 49a7890a authored by Ravneet Dhanjal's avatar Ravneet Dhanjal Committed by Android (Google) Code Review
Browse files

Merge "Camera: Add ability to match surface usage bits" into main

parents 1b804b14 2e10cad8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ parcelable CameraOutputConfig
    Surface surface;
    int imageFormat;
    int capacity;
    long usage;

    const int TYPE_SURFACE = 0;
    const int TYPE_IMAGEREADER = 1;
+2 −1
Original line number Diff line number Diff line
@@ -1182,7 +1182,8 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes
                    return null;
                }
                ImageReader reader = ImageReader.newInstance(output.size.width,
                        output.size.height, output.imageFormat, output.capacity);
                        output.size.height, output.imageFormat, output.capacity,
                        output.usage);
                mReaderMap.put(output.outputId.id, reader);
                return reader.getSurface();
            case CameraOutputConfig.TYPE_MULTIRES_IMAGEREADER:
+14 −1
Original line number Diff line number Diff line
@@ -132,7 +132,7 @@ public class CameraExtensionsProxyService extends Service {

    private static final String CAMERA_EXTENSION_VERSION_NAME =
            "androidx.camera.extensions.impl.ExtensionVersionImpl";
    private static final String LATEST_VERSION = "1.4.0";
    private static final String LATEST_VERSION = "1.5.0";
    // No support for the init sequence
    private static final String NON_INIT_VERSION_PREFIX = "1.0";
    // Support advanced API and latency queries
@@ -1693,6 +1693,7 @@ public class CameraExtensionsProxyService extends Service {
        private final Size mSize;
        private final int mImageFormat;
        private final int mDataspace;
        private final long mUsage;

        public OutputSurfaceImplStub(OutputSurface outputSurface) {
            mSurface = outputSurface.surface;
@@ -1700,8 +1701,10 @@ public class CameraExtensionsProxyService extends Service {
            mImageFormat = outputSurface.imageFormat;
            if (mSurface != null) {
                mDataspace = SurfaceUtils.getSurfaceDataspace(mSurface);
                mUsage = SurfaceUtils.getSurfaceUsage(mSurface);
            } else {
                mDataspace = -1;
                mUsage = 0;
            }
        }

@@ -1724,6 +1727,11 @@ public class CameraExtensionsProxyService extends Service {
        public int getDataspace() {
            return mDataspace;
        }

        @Override
        public long getUsage() {
            return mUsage;
        }
    }

    private class PreviewExtenderImplStub extends IPreviewExtenderImpl.Stub implements
@@ -2471,6 +2479,11 @@ public class CameraExtensionsProxyService extends Service {
            ret.size.height = imageReaderOutputConfig.getSize().getHeight();
            ret.imageFormat = imageReaderOutputConfig.getImageFormat();
            ret.capacity = imageReaderOutputConfig.getMaxImages();
            if (EFV_SUPPORTED) {
                ret.usage = imageReaderOutputConfig.getUsage();
            } else {
                ret.usage = 0;
            }
        } else if (output instanceof MultiResolutionImageReaderOutputConfigImpl) {
            MultiResolutionImageReaderOutputConfigImpl multiResReaderConfig =
                    (MultiResolutionImageReaderOutputConfigImpl) output;