summaryrefslogtreecommitdiffstats
path: root/camera2
Commit message (Collapse)AuthorAgeFilesLines
* 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
|\|
| * Consolidate parameter caching in camera1 portability agentAlan Newberger2014-08-151-55/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing implementation of the AndroidCameraAgentImpl uses a 'mParamsToSet' upon which is projects requested settings changes in applySettings(). But, this mParamsToSet is initialized only upon camera open! So 'hidden' parameters like video-size are stuck in the value upon open. Instead, they should be current to the last call to refreshSettings. To simplify, removed this and another copy of parameters (mParameters), introduced one cache class, and use it throughout the agent. Tested and app seems to work OK in general with the change, and specifically confirmed that video size parameters are not reverted after start, as was observed before the change. Bug: 16991558 Change-Id: I8f2749b8ab2ccc2cb858b8cd844330c5a482f79c
* | Merge "camera2-portability: Provide preview transformation matrix" into lmp-devSol Boucher2014-08-152-16/+118
|\ \
| * | camera2-portability: Provide preview transformation matrixSol Boucher2014-08-152-16/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | Applying this transform to the Surface on which the stream is displayed results in a correctly rotated image. For API 1, the rotation is actually performed by the Camera class and the returned matrix is an identity matrix; however, for API 2, the transformation is responsible for proper orientation. Bug: 16875535 Change-Id: I044ffbd1095bd1a9792c899b792129cc94c7c916
* | | Merge "camera2-portability: Make factory offer choice of backing API" into ↵Sol Boucher2014-08-154-14/+179
|\ \ \ | | | | | | | | | | | | lmp-dev
| * | | camera2-portability: Make factory offer choice of backing APISol Boucher2014-08-154-14/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows apps using the library to decide whether to jump to the new API. Users of the library may choose to use the Camera class, the camera2 API, or have the choice made automatically based on the device's API level. The choice may also be globally overridden by means of a system property. Bug: 16875535 Change-Id: I92e4be96fbd04057be61ceb8a0c58935770022f6
* | | | Merge "camera2-portability: Improve capability conversions' null-safety" ↵Sol Boucher2014-08-151-6/+14
|\ \ \ \ | |_|_|/ |/| | | | | | | into lmp-dev
| * | | camera2-portability: Improve capability conversions' null-safetySol Boucher2014-08-131-6/+14
| | |/ | |/| | | | | | | | | | | | | | | | | | | This makes it harder for unexpected nulls in CaptureRequest templates to cause exceptions while unboxing Integer wrappers. Such crashes were observed on some devices while running on the legacy layer, especially with scene modes. Change-Id: I0cae95534f138e97f2c589d15e81f77b4f2141f7
* / | camera2-portability: Report correct sizes for preview and captureSol Boucher2014-08-131-7/+7
|/ / | | | | | | | | | | | | This reports JPEG capture sizes instead of YUV ones, and ensures that preview sizes match TextureView, not SurfaceView. Change-Id: I2963ee1741156cc2a29e2e65308bd14dd145e4c8
* | Merge "Fix missing zoom fields in copy constructor of CameraCapabilities" ↵Alan Newberger2014-08-071-0/+2
|\ \ | | | | | | | | | into lmp-dev
| * | Fix missing zoom fields in copy constructor of CameraCapabilitiesAlan Newberger2014-08-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | These fields are deprecated but while we have them, should copy them in the constructor. This contributes to a zoom bug in the app, since ratios and indices are dropped upon copy. Bug: 16527845 Change-Id: I008384faa77e0c13a2790e095fa311909c1e9b44
* | | Merge "camera2-portability: Support photo capture using camera2 API" into ↵Sol Boucher2014-08-0715-560/+1137
|\ \ \ | |/ / |/| | | | | lmp-dev
| * | camera2-portability: Support photo capture using camera2 APISol Boucher2014-08-0715-560/+1137
| |/ | | | | | | | | | | | | | | | | | | | | This implements JPEG capture, including an autoexposure precapture sequence. There are many changes to AndroidCamera2Capabilities and AndroidCamera2Settings to support the representation of modes (e.g. flash modes) whose flags do not map trivially between the API implementations. Part of this work is the conversion of AndroidCamera2AgentImpl to use and store a Camera2RequestSettingsSet instead of a bare API 2 CaptureRequest.Builder. Change-Id: I03f9f98c954a7b0c140ac8d80161878c92ef65d2
* / Camera2: Remove hidden callbacksEino-Ville Talvala2014-08-042-80/+4
|/ | | | Change-Id: I4038f0aff5e82531ca2b6231feee9ade36ddbb75
* Merge "Create new com.android.ex.camera2.utils package" into lmp-devSol Boucher2014-07-298-0/+1001
|\
| * Create new com.android.ex.camera2.utils packageSol Boucher2014-07-308-0/+1001
| | | | | | | | | | | | | | | | | | It contains: - Camera2RequestSettingsSet class for storing/unioning CaptureRequest.Builders - A Camera2CaptureListenerSplitter class for connecting multiple such listeners - A Camera2CpatureListenerForwarder for relaying callbacks to another Handler Change-Id: I47381e4a45b4232b86e5498a1cc39cc600b5c5c5
* | add TORCH support to camera1 portability libraryAlan Newberger2014-07-301-0/+2
| | | | | | | | | | | | | | In the move to the portability library, TORCH mode got dropped. Bug: 16680156 Change-Id: I3878c2399246bdb5cc80311c49533971c0c4c3d2
* | camera2: Add BlockingCaptureListener class.Ruben Brunk2014-07-252-2/+166
|/ | | | | | Bug: 15116722 Change-Id: Ib843dea27175dece8857359707318323a57f5409