diff options
| author | 2021-08-04 00:50:17 +0000 | |
|---|---|---|
| committer | 2021-08-04 00:50:17 +0000 | |
| commit | 4b68ed1fe034a24cd858809324f069bb3522c05b (patch) | |
| tree | df21d538ba5045c2ff0a9a75af9095ce6299e531 | |
| parent | edb6d7f8a8d597b7c5379196daab6d89e07ace7e (diff) | |
| parent | a72b3e92e9054e9e410f75a78314b9ff5f23657e (diff) | |
Merge "Camera: Don't override extension surface native format" into sc-dev
| -rw-r--r-- | core/java/android/hardware/camera2/impl/CameraExtensionUtils.java | 2 | ||||
| -rw-r--r-- | core/java/android/hardware/camera2/utils/SurfaceUtils.java | 17 |
2 files changed, 18 insertions, 1 deletions
diff --git a/core/java/android/hardware/camera2/impl/CameraExtensionUtils.java b/core/java/android/hardware/camera2/impl/CameraExtensionUtils.java index 9acf9bf0c803..afefcbe80bf1 100644 --- a/core/java/android/hardware/camera2/impl/CameraExtensionUtils.java +++ b/core/java/android/hardware/camera2/impl/CameraExtensionUtils.java @@ -75,7 +75,7 @@ public final class CameraExtensionUtils { ImageWriter writer = null; Image img = null; SurfaceInfo surfaceInfo = new SurfaceInfo(); - int nativeFormat = SurfaceUtils.getSurfaceFormat(s); + int nativeFormat = SurfaceUtils.detectSurfaceFormat(s); int dataspace = SurfaceUtils.getSurfaceDataspace(s); Size surfaceSize = SurfaceUtils.getSurfaceSize(s); surfaceInfo.mFormat = nativeFormat; diff --git a/core/java/android/hardware/camera2/utils/SurfaceUtils.java b/core/java/android/hardware/camera2/utils/SurfaceUtils.java index 57d8ded79e8e..fd1a33161740 100644 --- a/core/java/android/hardware/camera2/utils/SurfaceUtils.java +++ b/core/java/android/hardware/camera2/utils/SurfaceUtils.java @@ -160,6 +160,23 @@ public class SurfaceUtils { } /** + * Detect and retrieve the Surface format without any + * additional overrides. + * + * @param surface The surface to be queried for format. + * @return format of the surface. + * + * @throws IllegalArgumentException if the surface is already abandoned. + */ + public static int detectSurfaceFormat(Surface surface) { + checkNotNull(surface); + int surfaceType = nativeDetectSurfaceType(surface); + if (surfaceType == BAD_VALUE) throw new IllegalArgumentException("Surface was abandoned"); + + return surfaceType; + } + + /** * Get the Surface dataspace. * * @param surface The surface to be queried for dataspace. |