summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/Camera2Client.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Camera2: ZSL: Do regular capture if AE is not satisfied.Eino-Ville Talvala2012-09-181-0/+2
| | | | | | | | | - Check the AE state of the selected ZSL buffer; if it's not reporting as CONVERGED or LOCKED, fall back to normal capture sequence - Add more debugging for the ZSL queue. Bug: 6910087 Change-Id: I77a4287580aa9ddbd58438477c40ce829555d0ca
* Camera2: Configure ZSL at the right time.Eino-Ville Talvala2012-09-111-9/+0
| | | | | | | | ZSL enable was too early in the camera startup sequence, resulting it being turned off most of the time. Bug: 7148012 Change-Id: Ie144dd960d018a34b0bc77c88208ca22b7112772
* Camera2: Temporarily stop pre-allocation of recording stream.Eino-Ville Talvala2012-09-101-7/+2
| | | | | | | | When recordingHint is set, don't pre-allocate recording stream on preview start. Bug: 7137947 Change-Id: I06b5f6d7dbb21d4d0747974ba001b0c8929a0b02
* Fix buildJames Painter2012-09-071-0/+1
| | | | Change-Id: Ia4bebc4ecc850b42ebd4edd1ffed07e9bc2ec300
* Camera2: Add a burst mode skeleton.James Painter2012-09-071-3/+1
| | | | | Bug: 6243944 Change-Id: I7f496ca1051571c68fdd99a6f85bf6a908a4e29a
* Camera2: Use the recordingHint parameter.Eino-Ville Talvala2012-09-071-21/+48
| | | | | | | | | Use recordingHint to create recording and still capture streams up front, and to use the recording template when doing preview. Bug: 6243944 Change-Id: Ifeb624794849f734784b53a1a10ff2bfe8f1a357
* Camera2: Delete all streams and stop all threads during shutdown.Eino-Ville Talvala2012-09-071-0/+7
| | | | | Bug: 6243944 Change-Id: If13a1f91e8a07c1ec4f91183d1a4b261ec4f6d52
* Camera2: Play shutter and recording sounds.Eino-Ville Talvala2012-09-061-0/+8
| | | | | | Bug: 6987540 Change-Id: Icd441a757c4b68fc4988b3bfbef428adb8d1ba28
* Camera2: Basic ZSL and precapture trigger support.Eino-Ville Talvala2012-09-061-414/+124
| | | | | | | | | | | | | | | | | - Add capture sequencer to control still image capture process - Use precapture trigger for standard capture in sequencer - Add infrastructure for reprocessing streams - Add ZSL processor to maintain ZSL queue - Add ZSL capture sequence to sequencer This patch sets up ZSL mode and precapture triggers. For now, to enable zsl mode, set the system property camera.zsl_mode to 1. Bug: 6243944 Change-Id: Icf8cb1a83a7c11a152a11007c8f3c54f8ea1c70c
* Camera2: Move preview callback processing to its own thread.Eino-Ville Talvala2012-08-301-201/+31
| | | | | | | | To reduce delays for HAL callbacks, manage preview callbacks in their own thread. Bug: 6243944 Change-Id: I7bef56949ac889ffce4e031bf40291a771a46f3e
* Camera2: Move still capture processing to separate thread.Eino-Ville Talvala2012-08-301-150/+25
| | | | | | | | | To avoid stalling HAL when it queues up new buffers for still capture, process still captures in a separate thread. Also move Camera2Heap to its own class so it can be used by the CaptureProcessor. Bug: 6243944 Change-Id: Id38e2a52367c0985812fcd4fd9af3ef90beef43f
* Camera2: Factor out FrameProcessor.Eino-Ville Talvala2012-08-281-188/+43
| | | | | | | | Move FrameProcessor to its own file, add necessary interfaces to Camera2Client. Bug: 6243944 Change-Id: I8d1b8280a65d2822461ebe6b6c9de17992b34276
* Camera2: Factor out Camera2Client::ParametersEino-Ville Talvala2012-08-281-1810/+240
| | | | | | | | | | | | | Move the parameter structure and the various utility methods using it to its own class. Rename LockedParameters to SharedParameters to match the Mutex naming convention. Also move CameraMetadata to camera2 directory for organization. No functional changes. Bug: 6243944 Change-Id: Ie60b535936ecfda9bf23361d52604abf515c83d0
* Camera2: Fix metering/focusing region coordinates, minor bugsEino-Ville Talvala2012-08-271-10/+36
| | | | | | | | | - Use active pixel array-based coordinates instead of the normalized camera API coordinates for ae/awb/af regions - Fix calculation of UV stride for YV12 format Bug: 6243944 Change-Id: I80cbd989858b0a3cb75c6f536c145e16e44fdb25
* Camera2: Move frame processing to its own thread.Eino-Ville Talvala2012-08-271-30/+86
| | | | | | | | To avoid blocking the HAL on possibly long-running binder calls, move frame receiption and processing to its own thread. Bug: 6243944 Change-Id: I6385be4410b2f68e2331755027afc10c342187cf
* Camera2: Use CameraMetadata wrapper class.Eino-Ville Talvala2012-08-271-253/+171
| | | | | | | | | Wrap the use of the camera_metadata library inside a CameraMetadata class to avoid memory leaks, improve code clarity, and increase type safety. Bug: 6243944 Change-Id: I90ca592b5875e27e4c58ea1ca680582dc3c3b56a
* Camera2: Replace MediaConsumer with BufferItemConsumer.Eino-Ville Talvala2012-08-211-13/+52
| | | | | | | | Get rid of MediaConsumer, which was largely duplicated code, and replace it with the simpler BufferItemConsumer. Bug: 6243944 Change-Id: I242d80c5fe39f2ee581ec8bb46f362997d994b0a
* Camera2: Ignore NOT_FOUND errors for face detect mode on frame receipt.Eino-Ville Talvala2012-08-211-1/+5
| | | | | | Reduce log spamming due to incomplete implementations. Change-Id: I6eb9d657591bd5f1476dd8c96e4a00b8a03e2a5e
* Camera2: Add support for preview callbacksEino-Ville Talvala2012-08-201-149/+483
| | | | | | | | | | | - Move camera overall state enum to be part of parameters - No longer use ICameraLock to guard access to overall state enum - Add callback flag management - Add callback stream and management Bug: 6243944 Change-Id: Ideb3dc523a23c05e440e429ebf838b1900a96573
* Camera2: Fix SCENE_MODEEino-Ville Talvala2012-08-161-1/+2
| | | | | | | | Now can set scene mode back to auto. Bug: 7001465 Change-Id: Ia25ba54d13de662bef5bf79957987513a7313c18
* Camera2: Skeleton for output frame processing, plus face detectEino-Ville Talvala2012-08-141-67/+354
| | | | | | | | | | | | | | - Plumbing for processing output metadata frames from the HAL - Support for passing face detection metadata from said frames to the application. - Switch calls on ICameraClient interface to use separate mutex to avoid deadlock scenarios with messages being communicated from the HAL to the camera user while calls from the user to the service are active. Bug: 6243944 Change-Id: Id4cf821d9c5c3c0069be4c0f669874b6ff0d1ecd
* Camera2: Swap AF notification order, minor bug fix.Eino-Ville Talvala2012-08-101-4/+3
| | | | | | | | | | | In continuous AF modes, when an AF trigger/cancel is received in the middle of a passive AF scan, we want to send both an AF move stop callback and an AF done callback. Swap the order of sending to simplify life when the app just wants to pay attention to the AF done callback during an active AF trigger. Bug: 6243944 Change-Id: I127d1675bc37ef828ef89c70b8cfab75f9428a2f
* Camera2: Add trigger support, and implement autofocusEino-Ville Talvala2012-08-101-4/+124
| | | | | | | | | - Add skeletons for all triggering actions into Camera2Device - Add support for AF triggers to HAL - Add support for AF notifications from HAL Bug: 6243944 Change-Id: I21025440849ae41f7083e1dcb72c99f8e5b2d5f7
* Fix a deadlock in commandSetVideoBufferCountL()James Dong2012-08-041-1/+8
| | | | | | | o The lock to be acquired in recordingEnabled() has aleady been acquired in sendCommand() before the call to commandSetVideoBufferCountL(). Change-Id: I664d51ef449c9eb3576d5d56f73f29c98444ff3f
* Camera2: Add notification handling skeleton.Eino-Ville Talvala2012-08-031-1/+24
| | | | | | | | Wire up skeleton methods for handling all currently defined notifications. Bug: 6243944 Change-Id: I84b3f60111416ba6fbcdb086f1310225142e2b70
* Camera2: Break out individual commandsEino-Ville Talvala2012-08-021-52/+135
| | | | | | | | | | - List all commands that need implementing in sendCommand - Write skeleton methods for each one - Implements playRecordingSound command - Partially implements enableShutterSound command Bug: 6243944 Change-Id: I7866df75adca09483f407d3a4f630e847dbc7721
* Dynamically configure the number of video buffers used by camera source, if ↵James Dong2012-08-021-7/+32
| | | | | | | | supported o related-to-bug: 6920805 Change-Id: I413bb50954cc84e32ed40bcb713842dc7b58e2b6
* Camera2: Fix exposure compensation step value.Eino-Ville Talvala2012-08-021-1/+1
| | | | | | Fix floating-point divide error. Change-Id: I61b140c1090d6773b9b530d19a2ec03cf784b85e
* Camera2: Check PIDs to ensure camera exclusive access.Eino-Ville Talvala2012-08-021-7/+65
| | | | | Bug: 6243944 Change-Id: I4b36af2c92b7266a4aa896a2b048c56b6406cb9a
* Camera2: Improve formatting of debugging dumpEino-Ville Talvala2012-07-311-2/+11
| | | | | Bug: 6243944 Change-Id: Id8730357f3adcd96923132f9f702e296e0dfd357
* Camera2: Improve threading safetyEino-Ville Talvala2012-07-311-236/+244
| | | | | | | | Merge mutex lock for accessing internal parameters with the parameter structure, forcing a lock to be held before the parameters can be accessed. Bug: 6243944 Change-Id: I86e44f395de0d80ff7c3ff3530f25b60015512d2
* Camera2: Use more buffers for video encoding.Eino-Ville Talvala2012-07-251-3/+3
| | | | | | | | To avoid starvation, set the number of simultaneously available buffers to the encoder to 8. Bug: 6243944 Change-Id: I6d0e9f3c0426d62d374c0ae0d427bf5189141adf
* Camera2: Revamp recording support to allow opaque formats.Eino-Ville Talvala2012-07-241-26/+61
| | | | | | | | - Avoid memcpy of buffer data by using metadata mode - Temporarily add MediaConsumer BufferQueue class Bug: 6243944 Change-Id: I7a8c4222b7dbd14f1b1d86fda06d38eb640e87c1
* Camera2: Stop preview: Wait until HAL is drainedEino-Ville Talvala2012-07-201-0/+1
| | | | | | | | Once camera returns from stopPreview, all preview activity needs to have stopped. So wait until that's true. Bug: 6243944 Change-Id: Ifa6cf171bd69015883e26dafb1e49e5ac098025a
* Camera2: Add more verbose loggingEino-Ville Talvala2012-07-201-1/+17
| | | | | | | Until ATRACE works in emulator, add more verbose logs to help debugging Bug: 6243944 Change-Id: Ic5fbf764f2717e5edd05d37e0f7d826f1d494179
* Camera2: Fix recording bugsEino-Ville Talvala2012-07-201-2/+14
| | | | | | | | | | - Release recording stream on shutdown - Return recording gralloc buffers to queue when they are received by camera service after recording has been stopped (which is normal behavior thanks to pipeline latencies in camera pipelines) Bug: 6243944 Change-Id: Ia13a501c726613fd1e404733456dbd10d7b00132
* Camera2: Add recording supportEino-Ville Talvala2012-07-131-25/+379
| | | | | | | | | | - Support startRecording/stopRecording - Support lock/unlock/connect - Some rearrangement of class definitions for clarity/consistency Bug: 6243944 Change-Id: I00c600a798572d2f69bb3f2bab3d79e4bd9a91e5
* Camera2: Handle preview orientation changes.Eino-Ville Talvala2012-06-151-0/+54
| | | | | | | - Process sendCommand(CAMERA_CMD_SET_DISPLAY_ORIENTATION) Bug: 6243944 Change-Id: I92d3bb13312d475703325230487d660a1cb7e0e5
* Camera2: Connect camera parameters to HAL request entries.Eino-Ville Talvala2012-06-151-62/+405
| | | | | | | | | | | | - All fields in Camera.Parameters are mapped to HAL2 entries, and communicated to the HAL. - Preview stream properly updated on parameter changes - Slight code rearrangment for improved clarity Bug: 6243944 Change-Id: I2a1db5c148809a62ba3524fb659dd6065affff8e
* Camera2: Minor parameter restructuringEino-Ville Talvala2012-06-151-43/+52
| | | | | | | Will make it easier to update HAL-level parameters. Bug: 6243944 Change-Id: I3acac3c532de440d46755ce3e1d819ad5ed2e106
* Camera2: Add more dump information, connect HAL device dumpEino-Ville Talvala2012-06-141-6/+35
| | | | | Bug: 6243944 Change-Id: I79a302f68786d815b9ab9984dbb31d237522416b
* Camera2: Improve error checking and debug logs.Eino-Ville Talvala2012-06-131-12/+37
| | | | | Bug: 6243944 Change-Id: Ie61d89b733af7d1f653443bf64b767456127a455
* Camera2: Still image supportEino-Ville Talvala2012-06-131-17/+280
| | | | | | | | | | | - Add stream / request creation for still image capture - Add takePicture call - Add callback handler - Fix shutdown bugs (wait until requests have drained) Bug: 6243944 Change-Id: Id73eb7090e61b40b90348d1eb262f641ea5f3229
* Camera2: Minor bugfixes and cleanupEino-Ville Talvala2012-06-071-50/+102
| | | | | | | | - Use CameraParameter-defined enum strings instead of writing our own - Remember last window binder sent properly Bug: 6243944 Change-Id: I68b1d042becaa6ebb4776fd2865dc0a29db7b87e
* Camera2: Add setParameters callEino-Ville Talvala2012-06-071-0/+712
| | | | | | | | | | - Validate new parameters and transfer to internal parameters - Add several utility functions to convert between CameraParameter strings and camera2/internal parameter enums Bug: 6243944 Change-Id: I323798dbfa028066f4963a6357766a781dde7cb6
* Camera2: Add basic concurrency guards.Eino-Ville Talvala2012-06-071-3/+41
| | | | | | | | - Serialize access through ICamera interface - Serialize access to internal parameter structure Bug: 6243944 Change-Id: I82c9811c1d059b2bca5cca7e3d73890120dbbe59
* Camera2: Add internal parameter state to dump.Eino-Ville Talvala2012-06-071-0/+162
| | | | | Bug: 6243944 Change-Id: Id02943001ef92a9c5717b295eb4af1a18669b08b
* Camera2: Use new param structure, improve static camera info queriesEino-Ville Talvala2012-06-071-244/+303
| | | | | | | | | | | | - Stop using CameraParameters for internal parameter storage, use a straightforward structure instead. - Improve querying for camera static characteristics for creating defaults for API-facing CameraParameters. Bug: 6243944 Change-Id: I965cdca7b242ef10ac1be931ebe7c186f997bb63
* Camera2: Switch to using ATRACEEino-Ville Talvala2012-05-311-25/+30
| | | | | Bug: 6243944 Change-Id: Ib2aa1875c72b20ae764d9de95b4122b736738df2
* Camera service: Minimally functional preview for camera 2 devices.Eino-Ville Talvala2012-05-311-15/+145
| | | | | | | | | | - Camera app starts up - Basic preview operation with defaults - Shutdown sequence is very minimal Bug: 6243944 Change-Id: I67673b7c1fc08956d218d99f9171e74a7a82bf07