summaryrefslogtreecommitdiffstats
path: root/camera2
Commit message (Collapse)AuthorAgeFilesLines
* Camera2: Support waitForSurfacePrepared in BlockingSessionCallbackYin-Chia Yeh2015-06-051-1/+53
| | | | Change-Id: I7f6f351092a173fe0b7a567e5240cb5abe8cb2de
* Camera2: Support onSurfacePrepared in BlockingSessionCallbackEino-Ville Talvala2015-05-131-0/+11
| | | | Change-Id: Id46c044badb98f7837ca3898758997c171aa5c68
* DO NOT MERGE: Minor style fixes.Jiawen Chen2015-04-295-25/+41
| | | | | | | | | - BlockingCameraManager had the wrong TAG. - Added static / final to NUM_STATES. - Javadoc @param mismatch. Change-Id: I0dbe6b3d4bdcb5a51ba0aea89985c3495a59381e (cherry picked from commit 5a772174d14175474e76701b07cc0be86c3df32a)
* Camera2: Portability: Remove HDR hack.Eino-Ville Talvala2015-01-073-60/+3
| | | | | Bug: 18640480 Change-Id: I8f0b42cbb05c6881fbc32664ce9e2b97a0ef5db3
* Cleaned up usages of deprecated APINick Korostelev2014-11-182-4/+2
| | | | Change-Id: Ie2f5fdc51d47e1d70dcfaf27550412d8569c1c04
* Ensure default handler always is set if no other error handler registeredAlan Newberger2014-11-041-5/+10
| | | | | | | | | | | To avoid memory leaks we set the error handler to null in activity onDestroy. But, the agent may receive callbacks after this, so ensure at minimum that we set the default logging handler to default handle errors post activity destroy. Bug: 18200874 Bug: 18202261 Change-Id: Ie7251a149ab02c474d8affd15af6b9ea48c2cdc0
* Ensure agent error handler is always non-nullAlan Newberger2014-10-271-1/+17
| | | | | | | | | Create a dummy placeholder handler which logs warnings, which can be replaced by app if desired. This makes various assumptions valid that this is non-null. Bug: 18137167 Change-Id: I0f508dff3cfe766ccc5a3c5a26c6196f4fb31e04
* Return more detailed debugging info for logging purposes.Senpo Hu2014-10-144-15/+34
| | | | Change-Id: If71afbf8029e9e4d5560eb6a655ece990cf19a19
* Cleanup: handle API 1 error callback in CameraExceptionHandler.Senpo Hu2014-10-105-83/+30
| | | | | | | | | Portability API used to expose setErrorCallback call which is API 1 only. The new CameraExceptionHandler should be the centralized place to handle different camera errors. Bug: 17931297 Change-Id: I0212f96a98e0caca64aca0f947b991b895d8d56b
* Overhaul error handling in AndroidCameraAgentImpl.Senpo Hu2014-10-075-336/+653
| | | | | | | | | | | | | | | | | | | | | | | DispatchThread could throw RTE when timeout (2500 ms). This CL extends it to 3500 ms and also re-route the exception to the proper exception callback instead of surfacing that up to the app. Since a lot of try-catch block is added, CameraExceptionHandler class is added to keep CameraAgent.java clean. The portability layer should ensure the proper use of Camera API 1. With this assumption, any run time exception thrown by the framework should be considered fatal. Once it happened, CameraAgent/CameraProxy should be invalidated. Any subsequent camera commands should be gated as no-ops to prevent HAL hanging symptom. Users should be guided to exit the app and recover from the camera error. Design Doc: https://docs.google.com/a/google.com/document/d/1t0sEPwGgc387XcoCVC7kT9Y_RSZPxcayla03M4bdn0U/edit Corresponding CL for the app layer: ag/562383 Bug: 16189216 Change-Id: I33e69aeff0c8e4211e82e0e83133915700c4eb8f
* Check isZoomSupported before any zoom ratio calculations.Alan Newberger2014-10-051-1/+1
| | | | | | | | | | Per API doc, isZoomeSupported should be checked before calling getZoomRatios or getMaxZoom. Moving zoom calculation into isZoomSupported check fixed crash in front camera with no zoom support, where a HAL/fwk returns a null list of zoom ratios. Bug: 17863266 Change-Id: I80b5f7a431e7bbe4d50e5d062628e38eda3fd0a6
* Add null check for exif thumbnail sizePuneet Lall2014-10-031-3/+12
| | | | | Bug:17790747 Change-Id: I758bb217d0a76093d8e4bb1832cc7ab6907235ee
* Remove default thumbnail size setting in portability libAlan Newberger2014-09-292-11/+15
| | | | | | | | | | Settings thumbnail size to (0,0) suppresses thumbnail generation. The Camera app did not set to (0,0) explicitly, but when porting Camera.Parameters to CameraSettings this crept in. Causes issue on Nakasi and no reason to suppress thumbnails in general. Bug: 17700333 Change-Id: I486e560bc9aaf05daf019a3aad8de78ee306f21b
* Add null check in AndroidCameraSettings.Senpo Hu2014-09-241-0/+8
| | | | | | | | Check Camera.Parameters is null in AndroidCameraSettings ctor. This should also fix the NPE bug b/17620440. Bug: 17555612 Change-Id: Iee5f41b5d47eced3155e31c09f267eaa61c7de39
* Merge "Specify Locale.US for stringification of enums" into lmp-devAlan Newberger2014-09-231-3/+4
|\
| * Specify Locale.US for stringification of enumsAlan Newberger2014-09-221-3/+4
| | | | | | | | | | | | | | | | For machine-readable enum translation, use Locale.US which will preserve english enum casing and is recommended in Locale docs. Bug: 17557568 Change-Id: I40274bccdb593889c8ded003a5fb731f45892d7b
* | Add error log to API1 CameraAgentAlan Newberger2014-09-221-0/+1
|/ | | | | | | Right when an error occurs, log it before doing further error handling. Bug: 17555612 Change-Id: I23c828f3ff0749643e490a431b71318004c6d692
* Merge "Camera2: Update for camera2 API changes" into lmp-devEino-Ville Talvala2014-09-095-9/+9
|\
| * Camera2: Update for camera2 API changesEino-Ville Talvala2014-09-085-9/+9
| | | | | | | | | | | | | | Add frame number to CaptureCallback#onCaptureStarted Bug: 17421092 Change-Id: I8ffc0c7c22a5f3a25e923aaf1ecf166c7a264508
* | Merge "portability: Fix a bug where long AF callbacks caused ISE timeouts" ↵Rachad Alao2014-09-095-8/+144
|\ \ | | | | | | | | | into lmp-dev
| * | portability: Fix a bug where long AF callbacks caused ISE timeoutsIgor Murashkin2014-09-095-8/+144
| | | | | | | | | | | | | | | Bug: 17403384 Change-Id: I2f452f79ffb4c0c3327ea5bf7db3f9d26e98ff51
* | | Let CameraProxy support setJpegOrientation.Senpo Hu2014-09-094-2/+29
| | | | | | | | | | | | | | | | | | | | | | | | When device is locked in portrait, JPEG orientation and preview orientation might be different. Bug: 17360176 Change-Id: I16ee937c4d930e5f02a3e703dffd3bdd63e0e367
* | | Merge "Log null returns from Camera.getParameters" into lmp-devAlan Newberger2014-09-091-3/+6
|\ \ \ | |_|/ |/| |
| * | Log null returns from Camera.getParametersAlan Newberger2014-08-201-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is some evidence that we may be getting null parameters on N10. Specfically, AndroidCameraProxyImpl.getParameters is returning null, and from analysis the only two options are that the API1 returns null, or our synchronous waiting for threads is compromised and we are returning without error too fast. The latter would presumably show up on many devices, but we are only seeing an issue on N10, so I suspect an API/HAL issue. Adding logging and a thrown exception, and cleaning up GET_PARAMETERS message creation slightly to make more consistent with other invocations. Bug: 17109801 Change-Id: I1705345d03ed16ef22b170a11fcaf0c6fb2a2c4d
* | | Merge "portability: Fix incorrect comparison between int and Integer" into ↵Igor Murashkin2014-09-051-1/+1
|\ \ \ | | | | | | | | | | | | lmp-dev
| * | | portability: Fix incorrect comparison between int and IntegerIgor Murashkin2014-09-051-1/+1
| | | | | | | | | | | | | | | | | | | | Bug: 17405119 Change-Id: Ic4828b5ddee2b11fa9886506e48c640a4c5ad3ef
* | | | Camera2: Renames for API consistencyEino-Ville Talvala2014-09-0511-89/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Listener -> Callback - add/remove callbacks -> register/unregister Bug: 17389922 Change-Id: I6e162ae18447b5a4fcabc17d17b1341f341fc47d
* | | | ex: Avoid exception if HDR_SCENE_MODE name changes.Ruben Brunk2014-09-031-3/+9
| |_|/ |/| | | | | | | | | | | Bug: 17353543 Change-Id: I31448687a69afc66e93f4360e8a3186ff8ad6235
* | | Merge "camera2: Add HDR vendor tag for legacy mode." into lmp-devRuben Brunk2014-08-304-3/+59
|\ \ \
| * | | camera2: Add HDR vendor tag for legacy mode.Ruben Brunk2014-08-284-3/+59
| |/ / | | | | | | | | | | | | | | | Bug: 17072609 Change-Id: Iebb97d12fc62986ad389460c253cfc504a68ad7f
* | | Merge "camera2-portability: Touch-to-focus accounting for effective crop" ↵Igor Murashkin2014-08-296-6/+144
|\ \ \ | | | | | | | | | | | | into lmp-dev
| * | | camera2-portability: Touch-to-focus accounting for effective cropSol Boucher2014-08-296-6/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the calculation of API 2 focus and metering rectangles to account for the effective crop region (after the framework has performed automatic cropping to match the requested output aspect ratio). It also guards against and prints warnings when changing the resolution after having configured the session and surfaces; before, this was merely a silent no-op. Bug: 17187095 Change-Id: I3243bea24d6936d1bba5d556b3846d172ad0defe
* | | | Add ability to reset focus and metering regions using API1.Andy Huibers2014-08-281-0/+4
| | | | | | | | | | | | | | | | | | | | Bug: 17286539 Change-Id: Id75bfc594f9fb6a08bb187d053ae99a85e7d9d42
* | | | camera2-portability: Allow disabling the shutter sound on API 2Sol Boucher2014-08-271-4/+11
|/ / / | | | | | | | | | | | | | | | | | | | | | Because the camera2 API doesn't play shutter sounds at all, the portability layer does it directly. Consequently, it is trivial to skip that step. Bug: 17303595 Change-Id: I303696906902c2d8af58baedf27f6e20f34772f1
* | | Merge "camera2-portability: Fix and document obscure state machine bug" into ↵Sol Boucher2014-08-271-12/+15
|\ \ \ | | | | | | | | | | | | lmp-dev
| * | | camera2-portability: Fix and document obscure state machine bugSol Boucher2014-08-271-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The numeric state codes defined by the camera2 implementation were incompatible with the StateHolder class's wait interface; thus, blocking operations didn't always behave as expected. Bug: 17300466 Change-Id: I54f462d5de876c9dcf99b2a4c7ae79879cc0eca2
* | | | camera2-portability: Fix camera2 takePicture AE regressionSol Boucher2014-08-271-2/+7
|/ / / | | | | | | | | | | | | | | | | | | | | | This fixes a regression introduced by 984a086412a94ebea1bd9af8cd8bbf4afab38034 that resulted in captures sometimes hanging until the AE state changed. It includes explanatory comments to guard against this sort of error in the future. Bug: 17302778 Change-Id: I668f5a5470a0ae7712f62c7574d18360d47e410b
* | | Merge "camera2-portability: Fix zoom occasionally not working" into lmp-devSol Boucher2014-08-271-3/+12
|\ \ \
| * | | camera2-portability: Fix zoom occasionally not workingSol Boucher2014-08-261-3/+12
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cache the last valid CameraSettings object The camera2 implementation of CameraProxy#getSettings() now returns the most recent valid CameraSettings object that was provided to it (or the template if no valid cached instance is available). This more closely mimics the camera1 implementation's behavior, and resolves issues where the app relies on finding recent settings there in corner cases. Bug: 17016658 Change-Id: I057feec3f857428dd210300a05f22cafa9f5ba34
* / / camera2-portability: Optimize out some camera2 AE precapturesSol Boucher2014-08-263-75/+241
|/ / | | | | | | | | | | | | | | If it's already converged and the flash isn't being forced on, there's no need to force the precapture routine, which would delay our capture significantly. Also use onCaptureProgressed() instead of onCaptureCompleted() when possible. Change-Id: I0bb7956498b0070382cd5b39b7ccdc0cc0765913
* | Merge "camera2-portability: Switch to ratio-based zoom interfaces" into lmp-devSol Boucher2014-08-2310-65/+137
|\ \
| * | camera2-portability: Switch to ratio-based zoom interfacesSol Boucher2014-08-2110-65/+137
| |/ | | | | | | | | | | | | | | | | This eliminates the deprecated index-based CameraSettings zoom methods in favor of floating-point ratio based versions, and includes the plumbing to make those work for both the camera1 and camera2 underlying framework APIs. Bug: 17016658 Change-Id: I0567a53cd57bfa6d53604e3c5457a39ef49e3cb4
* | Merge "camera2-api: Tag camera2 JPEGs with any provided location" into lmp-devSol Boucher2014-08-232-2/+30
|\ \
| * | camera2-api: Tag camera2 JPEGs with any provided locationSol Boucher2014-08-222-2/+30
| |/ | | | | | | | | Bug: 17027000 Change-Id: I311028b9df4d74268fb415c163f7e6a2d2505dff
* | Merge "camera2-api: Work around invalid camera2 API focus modes" into lmp-devSol Boucher2014-08-231-3/+10
|\ \
| * | camera2-api: Work around invalid camera2 API focus modesSol Boucher2014-08-221-3/+10
| |/ | | | | | | | | | | | | | | | | The validation routine now changes the focus mode to FIXED if the requested one is unsupported. This is to work around devices whose templates erroneously specify unsupported focus modes. Bug: 17177436 Change-Id: If9b679510e0c232453dd0a77dbdd2e0ec713ac12
* / camera2-portability: Play shutter sound for camera2 capturesSol Boucher2014-08-221-1/+5
|/ | | | | Bug: 17109582 Change-Id: I73321cdbb2972b2d1e9bc2de93192fbb506347e7
* Merge "Add exception logging to CameraDeviceInfo retrieval failure" into lmp-devAlan Newberger2014-08-161-0/+1
|\
| * Add exception logging to CameraDeviceInfo retrieval failureAlan Newberger2014-08-181-0/+1
| | | | | | | | | | | | | | | | | | | | camera1 CameraAgent returns null CameraDeviceInfo if the underlying camera device is broken. see b/16982203, this caused issues but was invisible in logs. Adding logging to document true root cause of any device info failures stemming from an underlying failure. Bug: 16982203 Change-Id: I8a48714e1ddbde8b8eac35f149136d19efce5fb8
* | Merge "Consolidate parameter caching in camera1 portability agent" into lmp-devAlan Newberger2014-08-151-55/+90
|\|