summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/Camera2Client.h
Commit message (Collapse)AuthorAgeFilesLines
* Camera2: Use the recordingHint parameter.Eino-Ville Talvala2012-09-071-1/+1
| | | | | | | | | 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: Play shutter and recording sounds.Eino-Ville Talvala2012-09-061-0/+1
| | | | | | Bug: 6987540 Change-Id: Icd441a757c4b68fc4988b3bfbef428adb8d1ba28
* Camera2: Basic ZSL and precapture trigger support.Eino-Ville Talvala2012-09-061-17/+21
| | | | | | | | | | | | | | | | | - 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-21/+2
| | | | | | | | 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-55/+20
| | | | | | | | | 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-28/+28
| | | | | | | | 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-202/+6
| | | | | | | | | | | | | 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-0/+2
| | | | | | | | | - 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-6/+23
| | | | | | | | 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-21/+12
| | | | | | | | | 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-6/+7
| | | | | | | | Get rid of MediaConsumer, which was largely duplicated code, and replace it with the simpler BufferItemConsumer. Bug: 6243944 Change-Id: I242d80c5fe39f2ee581ec8bb46f362997d994b0a
* Camera2: Add support for preview callbacksEino-Ville Talvala2012-08-201-8/+42
| | | | | | | | | | | - 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: Skeleton for output frame processing, plus face detectEino-Ville Talvala2012-08-141-3/+39
| | | | | | | | | | | | | | - 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: Add trigger support, and implement autofocusEino-Ville Talvala2012-08-101-3/+9
| | | | | | | | | - 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-0/+2
| | | | | | | 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-2/+14
| | | | | | | | Wire up skeleton methods for handling all currently defined notifications. Bug: 6243944 Change-Id: I84b3f60111416ba6fbcdb086f1310225142e2b70
* Camera2: Break out individual commandsEino-Ville Talvala2012-08-021-8/+23
| | | | | | | | | | - 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-1/+2
| | | | | | | | supported o related-to-bug: 6920805 Change-Id: I413bb50954cc84e32ed40bcb713842dc7b58e2b6
* Camera2: Check PIDs to ensure camera exclusive access.Eino-Ville Talvala2012-08-021-1/+4
| | | | | Bug: 6243944 Change-Id: I4b36af2c92b7266a4aa896a2b048c56b6406cb9a
* Camera2: Improve threading safetyEino-Ville Talvala2012-07-311-17/+64
| | | | | | | | 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-2/+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-3/+5
| | | | | | | | - Avoid memcpy of buffer data by using metadata mode - Temporarily add MediaConsumer BufferQueue class Bug: 6243944 Change-Id: I7a8c4222b7dbd14f1b1d86fda06d38eb640e87c1
* Camera2: Add recording supportEino-Ville Talvala2012-07-131-28/+86
| | | | | | | | | | - 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/+3
| | | | | | | - 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-4/+21
| | | | | | | | | | | | - 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-8/+8
| | | | | | | Will make it easier to update HAL-level parameters. Bug: 6243944 Change-Id: I3acac3c532de440d46755ce3e1d819ad5ed2e106
* Camera2: Improve error checking and debug logs.Eino-Ville Talvala2012-06-131-1/+3
| | | | | Bug: 6243944 Change-Id: Ie61d89b733af7d1f653443bf64b767456127a455
* Camera2: Still image supportEino-Ville Talvala2012-06-131-5/+36
| | | | | | | | | | | - 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: Add setParameters callEino-Ville Talvala2012-06-071-0/+15
| | | | | | | | | | - 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-0/+8
| | | | | | | | - 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-1/+3
| | | | | Bug: 6243944 Change-Id: Id02943001ef92a9c5717b295eb4af1a18669b08b
* Camera2: Use new param structure, improve static camera info queriesEino-Ville Talvala2012-06-071-9/+97
| | | | | | | | | | | | - 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
* Camera service: Minimally functional preview for camera 2 devices.Eino-Ville Talvala2012-05-311-4/+25
| | | | | | | | | | - Camera app starts up - Basic preview operation with defaults - Shutdown sequence is very minimal Bug: 6243944 Change-Id: I67673b7c1fc08956d218d99f9171e74a7a82bf07
* Camera service: Initialization for camera2 clients and devicesEino-Ville Talvala2012-05-291-1/+10
| | | | | | | | | | | - Refactor initialization code to hide device type from CameraService - Add metadata queue class to Camera2Device - Initialization of Camera2Device, Camera2Client - Conversion from HAL2 device static metadata to camera API parameters. Bug: 6243944 Change-Id: I524145b45438e906d8493dae202704ce8f090aeb
* Camera service: Add skeleton support for camera2 devices.Eino-Ville Talvala2012-05-171-0/+73
- Add Camera2Client, which maps the current android.hardware.Camera API to the new camera2 semantics - Add Camera2Device, a C++ wrapper for the HAL camera 2 device No functionality besides create/destroy; all client methods return error or null. Bug: 6243944 Change-Id: I6bd5136fa1efd8279b8cd2d9847d9b0bb2862294