| Commit message (Collapse) | Author | Age | Files | Lines | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
This change includes the following gerrits:
  # This is a combination of 4 commits.
  # The first commit's message is:
  Camera: Enable Histogram feature.
  Link the histogram enable/disable commands from
  application to the HAL layer.
  Change-Id: I510c4e1798285ed1315bfb0d234fa76090659ba2
  # This is the 2nd commit message:
  Camera: Add support for ZSL burst mode.
  Added ability to set number of snapshots in burst mode.
  Change-Id: Ie0e7c8c0117b7adc985cfc92df79747ee6a5ea51
  # This is the 3rd commit message:
  CameraService: Adds support for longshot mode
  - This change introduces additional functionality inside
    CameraClient for supporting continuous compressed data
    callbacks. This is needed for 'Burst/Long shot' mode
    where we could have indefinite number of callbacks after
    capture is triggered.
  (cherrypicked from commit e4f502aa7cbe8875e8a1589024cdcf227c228a2b)
  Change-Id: Ia18ca9bdda7736c679db557e510870115089537a
  # This is the 4th commit message:
  CameraClient: Enables meta data notifications.
  Adds the needed functionality for enabling/disabling
  metadata messages depending on the camera client
  commands.
  Change-Id: I39d632b4742e83df5db5f86b12742aefc2480dfc
  Cherrypicked from 25bd97f5ec30e7942c3b1fdc96115da6028736f0
Change-Id: Ie930d20c962593e40a0767f9cf7d4385df8e2561
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
Use a dedicated mutex for torch UID map so it won't cause a deadlock
after flashlight app gets killed while the torch is on.
Bug: 23722318
Change-Id: I228377aa0412052d56b6b948361d9abaecbbc686
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
Also determine the number of 'normal' cameras present on
camera service startup, and ensure that all normal cameras have
IDs lower than the 'strange' cameras.
Bug: 23194168
Change-Id: I1f7b14825cb52707de698a955f85da1eaa932663
 | 
| |\   | 
 | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| |  | 
Potential deadlock conditions this addresses, include:
- Not waking up waiting threads for several situations where
  the status had been updated.
- Not waking up all waiting thread when status had been updated
  (only one thread was awoken due to use of signal).
- Threads clear status transitions before other waiting threads
  have a chance to examine them.
Bug: 22448586
Change-Id: I53ba669d333a83d2bfa1ca3170d34acc6d8fe6e3
 | 
| |\ \  
| |/  
|/|    | 
 | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | 
| |  | 
Relax InFlightMap size check for high speed configurations to
allow more pending capture requests.
Bug: 23162274
Change-Id: I955fe9a0754f0daed001f4a2b34ccb50f2465a11
 | 
| |/  
|   
|   
|   
|    | 
Bug: 20537722
Change-Id: I9fa2fcdcfd41cd3370732c70414914993d3dc94e
 | 
| |\   | 
 | 
| | | 
| | 
| | 
| | 
| |  | 
Bug: 22542551
Change-Id: I2fe5791a6554a8e2f7fd94593d552d8af18257db
 | 
| |\ \   | 
 | 
| | |/  
| |   
| |   
| |   
| |   
| |   
| |   
| |   
| |   
| |   
| |    | 
If largest jpeg stream cannot sustain 30 FPS, don't
create jpeg stream until takePicture is called and remove
it after still capture is done.
Also, disable video snapshot for such sensors so video snapshot
won't slow down video recording.
Bug: 22231605
Change-Id: I2b34d2537c224694ae10f2006b5a46be45a1b1a6
 | 
| |/  
|   
|   
|   
|    | 
Bug: 18949148
Change-Id: Ie86ec7d1ec3db54e1154563b2339a208a935f849
 | 
| |\   | 
 | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| |  | 
- Add CameraBinderTests for limited coverage of native
  camera2 binder interfaces for the camera service.
- Fix several bugs in the native binder interfaces.
Bug: 18468810
Change-Id: Iab2d81a5cacd20daf7454aeeed033cc13d88452c
 | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| |  | 
Remove mCameraCharacteristicsMap.
CameraModule kept a CameraMetadata in mCameraCharacteristicsMap
and kept its camera_metadata in mCameraInfoMap. When CameraMetadata
gets moved in mCameraCharacteristicsMap, it may clone a new
camera_metadata and free the old one. So the original
camera_metadata stored in mCameraCharacteristicsMap becomes invalid.
Bug: 22171288
Change-Id: Ia8e99fe42989946bc952ad23abb296aeac60da83
 | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| |  | 
Pass whether AE lock is available when creating the request thread
because when the request thread was created, its parent's info
was not set yet.
Bug: 20494782
Change-Id: I11ed3f99c473955c437e81f3e1d704c15a9ca1a4
 | 
| |\ \  
| |/  
|/|    | 
 | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | 
| |  | 
Support AE precapture trigger CANCEL for devices <= API
version 3.2.
Bug: 20494782
Change-Id: I6003ba8057ca4ec9e8dfda47b8411ae6be913d22
 | 
| | | 
| | 
| | 
| | 
| |  | 
Bug: 20491394
Change-Id: I53b0539b37cc7a042e6765c97775b8c2bbba7159
 | 
| |/  
|   
|   
|   
|   
|   
|   
|    | 
If high speed mode changed, HAL needs to reconfigure the streams
even when the stream configurations don't change.
Bug: 21900311
Change-Id: I76aee456b3b6d8c8f599a1638dcd38d75553a235
 | 
| |\   | 
 | 
| | | 
| | 
| | 
| | 
| |  | 
Bug: 19930700
Change-Id: I9d5685bd98a049fcb01f6ecc649f15f3b4498e6d
 | 
| |/  
|   
|   
|   
|   
|   
|   
|   
|   
|    | 
Also switch use of ANativeWindow to Surface, to get to the
getConsumerName() method where necessary.
Surface can always be cast to ANativeWindow, but not the other way
around, so it's a better option anyway.
Change-Id: Ie5c2d30821c1a754f9e382699ff50b4b328288b3
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
Since configureStreams is only called by CameraDeviceClient,
the operation mode could default-initialize to CONSTRAINED_HIGH_SPEED
for API1 operation.
Change-Id: Ide71af07ca3925db8e450d00def1daeb44d8046a
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
- Support new set video format/dataspace command in camera service
  - HALv3: Select gralloc usage flags based on format
  - HALv1: Pass format command directly to HAL layer
- Use format/dataspace command in CameraSource
- Switch all API1 recording to use metadata mode
- Switch all >= HALv2 API1 recording to use kMetadataBufferTypeANWBuffer
Bug: 13222807
Change-Id: I2e609b92c65792611bb1dab09e0c41c363ebbc42
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
INVALID_OPERATION surfaces as an non-specific device-level error to
applications in the onError callback. This is not a condition apps
targeting camera2 in L will generally have to deal with.
Instead, return -EACCESS which maps to throwing
CameraAccessException.CAMERA_DISABLED, same as disabling camera access
with DevicePolicyManager.
The old camera API converts any error code to -EACCESS at the JNI layer,
so this doesn't change anything for the older API.
Also update the various native ICameraService binder connect calls to
check for the transact error code, and return it if it is not OK.
Without this, PERMISSION_DENIED transact errors from the camera
service cannot be distinguished from CAMERA_DISABLED errors in
some codepaths.
Bug: 21604925
Change-Id: Ifccc8989b8c20653429e2d3e51dba7abb2be9c35
 | 
| | 
| 
| 
| 
|  | 
Bug: 21442271
Change-Id: Ia0ae5bbd3e8c81bad293c29987301a2457817d12
 | 
| |\   | 
 | 
| | | 
| | 
| | 
| | 
| | 
| |  | 
Bug: 15986092
Change-Id: I9dc6828332e4091fd93bf2d82839e8e3862a2fc2
 | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| |  | 
Get an input buffer right after camera service takes one
reprocess capture request from the request queue to prevent
the input buffers getting out of order.
When aborting pending reprocess requests in the request queue, also
abort the same amount of input buffers.
Bug: 21028914
Change-Id: I7cfacecb4c24509f59c983abd587db5a403237bd
 | 
| |\ \   | 
 | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | |  | 
Also fix a typo in AWB lock available key.
Bug: 21403373
Bug: 20883751
Change-Id: I5156f4fafcf4ae86f680fb618966c7cc58900120
 | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | |  | 
Double-acquiring a non-recursive mutex tends to work poorly.
Bug: 21498811
Change-Id: I1d59959fca69c97684522195808019797f7a6a7d
 | 
| |/ /  
| |   
| |   
| |   
| |   
| |   
| |   
| |   
| |   
| |   
| |   
| |   
| |    | 
There's a narrow window in which a capture request is neither in the
request queue or handed off to the HAL, which can be expanded to some
size if buffers have to be allocated.  During this window, the
prepare() method will not correctly notice that a stream should be
considered in use.
Add a member to contain the current request being processed, and check
against it in prepare as well.
Change-Id: I3a198d617f5feee0a3332af4b4439f24eda28ea3
 | 
| |\ \   | 
 | 
| | |/  
| |   
| |   
| |   
| |   
| |   
| |   
| |   
| |   
| |   
| |   
| |   
| |    | 
- Adds an AIDL interface to allow the proxy camera service
  running in system server to accept RPCs from the camera
  service running in mediaserver.
- Request an update to the valid user set from the proxy
  camera service when mediaserver restarts to initialize
  properly + avoid DOS after a crash.
Bug: 21267484
Change-Id: Ib821582794ddd1e3574b5dc6c79f7cb197b57f10
 | 
| |\ \   | 
 | 
| | |/  
| |   
| |   
| |   
| |   
| |   
| |   
| |   
| |    | 
Already in dumpsys log, but also put into logcat for feedback reports
Also fix a minor warning about an uninitialized variable.
Bug: 21063372
Change-Id: I04b45932e4500ac72aaa1cb724abc8a82a0e70e8
 | 
| |/  
|   
|   
|   
|   
|   
|   
|   
|    | 
Previous implementation only notifies the callback when we receive
full capture result. This implementation notifies the callback
once HAL sends capture start callback.
Bug: 12530628
Change-Id: Ibf71d532b5cf649514b316e35683c217021698b4
 | 
| | 
| 
| 
| 
|  | 
Bug: 20124384
Change-Id: I6fb82dbfd5f98746ed4befed81a583e3709bfee8
 | 
| |\   | 
 | 
| | | 
| | 
| | 
| | 
| |  | 
Bug: 20304829
Change-Id: I120ed6e41ca592c3770797a5fb1e5ce556543949
 | 
| |\ \   | 
 | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | |  | 
To add derived keys into availableCharacteristicsKey.
Bug: 20883751
Change-Id: I49d6d1bb79e6f31825dbfdebb039acbd5d9abe68
 | 
| |\ \ \   | 
 | 
| | | |/  
| |/|   
| | |   
| | |   
| | |   
| | |   
| | |   
| | |   
| | |    | 
- Mutexes _might_ be a good idea
- Don't be surprised by behavior that's expected
- Use the existing logging macros
Bug: 20537148
Change-Id: Ie62985a786d7e6645b4e4fe019dd98b02891a1f7
 | 
| |\ \ \   | 
 | 
| | |/ /  
| | |   
| | |   
| | |   
| | |   
| | |   
| | |   
| | |   
| | |    | 
- Simplify priority calculation + handle constants
  added for device sleep: FOREGROUND_SERVICE and
  TOP_SLEEPING.
Bug: 19186859
Change-Id: Ia2a5517cd3150deaccb58a0aa1eaa583cb769add
 | 
| |\ \ \  
| | | | 
| | | | 
| | | |  | 
buffer." into mnc-dev
 |