I found an error in the process of taking and saving a photo using camera 2 with a Samsung S10+ in Android Studio.
android_version : 11
kernel_version : 4.14. 113-22340597
final CaptureRequest.Builder captureBuilder = cameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
captureBuilder.addTarget(reader.getSurface());
captureBuilder.set(CaptureRequest.CONTROL_MODE, CameraMetadata.CONTROL_MODE_AUTO);
int rotation = getWindowManager().getDefaultDisplay().getRotation();
captureBuilder.set(CaptureRequest.JPEG_ORIENTATION, ORIENTATIONS.get(rotation));
Long tsLong = System.currentTimeMillis() / 1000;
String ts = tsLong.toString();
file = new File(Environment.DIRECTORY_DOWNLOADS, ts + ".jpg");
ImageReader.OnImageAvailableListener readerListener = new ImageReader.OnImageAvailableListener() {
@Override
public void onImageAvailable(ImageReader reader) {
Image image = null;
image = reader.acquireLatestImage();
ByteBuffer buffer = image.getPlanes()[0].getBuffer();
byte[] bytes = new byte[buffer.capacity()];
buffer.get(bytes);
try {
save(bytes);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (image != null) {
image.close();
}
}
}
};
And... This is Error Result
E/ExynosCameraNode: [CAM(0)][FLITE]-(m_dqBuf[1660]):exynos_v4l2_dqbuf(fd:29) fail (-1)
E/ExynosCameraMCPipe: [CAM(0)][PIPE_3AA]-(m_getBuffer[2118]):node(FLITE)->getBuffer() fail, index(-2), frameCount(7), ret(-1)
E/ExynosCameraFrame: [CAM(-1)][]-(setSrcBuf[3233]):Invalid buffer state(3)
E/ExynosCameraFrame: [CAM(0)][]-(setSrcBuffer[273]):Could not set src buffer, ret(-38)
E/ExynosCameraMCPipe: [CAM(0)][PIPE_3AA]-(m_getBuffer[2154]):0's setSrcBuffer fail, fCount(7), pipe(5), ret(-38)
E/IndicatorGardenAlgorithmBasicCutout: NOT MATCH !!!! resourceHeight:108, cutoutHeight:107 ([IndicatorGardenInputProperty] Rotation(0-0,90-1,180-2,270-3)0, Density:2.625, ScreenWidthSize:1080, CoverSidePadding:0, mIndicatorGardenCenterOffset:11, mCameraCutoutCropSize:0, mGardenPaddingStart:21, mIndicatorCornerPadding:56, mCameraSidePadding:25, mCameraTopMargin:24, DpCutout:DisplayCutout{insets=Rect(0, 107 - 0, 0) waterfall=Insets{left=0, top=0, right=0, bottom=0} boundingRect={Bounds=[Rect(0, 0 - 0, 0), Rect(836, 0 - 1080, 107), Rect(0, 0 - 0, 0), Rect(0, 0 - 0, 0)]}})