Commit Graph

851 Commits

Author SHA1 Message Date
Eino-Ville Talvala
7fcb357811 Camera2: Invoke onError callbacks for failure to open
When the initial attempt to connect to the remote camera device fails,
fire the onError callback as documented, instead of throwing an
exception from open().

Also ensure the correct exception is sent when methods are called
while in the error state, and make sure onClosed() is called correctly
if closing the device after an initial startup error.

Bug: 14413756
Bug: 14413363
Change-Id: I0822261dad52bcd428a0c4556202f00032499990
2014-06-04 16:52:00 -07:00
Igor Murashkin
21547d66a9 camera2: Change CaptureListener callbacks to include the session (api)
* Also makes CameraDevice an abstract class (API)

Bug: 15428219
Bug: 14964443
Change-Id: I0e8c8309186aad59570aac7e0f998bb615405f0a
2014-06-04 16:03:32 -07:00
Ruben Brunk
35677d1762 Merge "DNG: Hide unimplemented methods." into lmp-preview-dev 2014-06-04 22:25:18 +00:00
Zhijun He
df9b74781a Camera2: Update availableStreamConfigurations for JPEG sizes
Also Fix some doc issue in availableCapabilities

Bug: 12035686
Change-Id: Ie517a587f4a9e6cd9731fcca042e24adf832d9e3
2014-06-04 20:56:20 +00:00
Ruben Brunk
8e783f7a52 DNG: Hide unimplemented methods.
Bug: 15112503
Change-Id: I31187a92b610af68fb854a27a564abf7d0635478
2014-06-04 13:21:04 -07:00
Igor Murashkin
c6b4d9b8d1 Merge "camera2: Implement most of CameraCaptureSession" into lmp-preview-dev 2014-06-04 01:00:06 +00:00
Ruben Brunk
3f6680ad48 Merge "DNG: Write out additional fields." into lmp-preview-dev 2014-06-03 23:38:57 +00:00
Ruben Brunk
b8df8e07d6 DNG: Write out additional fields.
Bug: 15112503

Change-Id: Ib06d9a5e70e6e3d5063a95a7109538ef64f03334
2014-06-03 15:07:50 -07:00
Igor Murashkin
0b27d3453d camera2: Implement most of CameraCaptureSession
Bug: 14964443
Change-Id: I8203842c77a94a3a6e5f89494fce658b00a4160d
2014-06-03 14:55:52 -07:00
Jinsuk Kim
b9e60f35ef DO NOT MERGE: Added missing entries in the cec device array
Change-Id: Ibb775f47cb9fb53df0a1baf67d09d76c4cb42392
2014-06-03 10:15:39 +09:00
Jinsuk Kim
e74282b70b DO NOT MERGE: Stop publishing HdmiCecService, start publishing HdmiControlService
HdmiCecService will soon be deprecated and replaced with HdmiControlService.
Stopped publishing the service, and turned the corresponding manager to
stub so that it will do nothing but print out a warning msg instead.

Will help the app transition to the new service in the meantime. Once
the migration is finished, will gut out all the HdmiCecService/
HdmiCecManager stuff.

Change-Id: Ic34a69c4fb99f4e5a2c8323538195204ab16a545
2014-06-02 11:02:51 +09:00
Jinsuk Kim
a8fd44b74b DO NOT MERGE: Fix a couple of bugs in CEC services
- Correct conversion for byte to int for cec opcode
- Use the right Handler.obtainMessage() to pass an integer variable

Change-Id: Ie3e86225f1702decce454aeb197911a371f51c17
2014-06-02 10:58:02 +09:00
Jinsuk Kim
304b4a7281 DO NOT MERGE: Fix a bug calling a wrong HDMI-CEC Binder API
Change-Id: I75e5de3ab820288f0fe6bebdc63d6dd680e18f8a
2014-06-02 10:56:57 +09:00
Yuncheol Heo
61ced38d61 DO NOT MERGE: Add the constants for the callback result of SendCecCommand().
- Move the send failure warning messages into HdmiCecController.sendCommand()
  from each Actions.
- Stringfy with more detail messages for some opcodes.

Change-Id: Ib7ce24dd2a1f290e6c3a0b26738772ef1d4a9630
2014-06-02 10:46:36 +09:00
Yin-Chia Yeh
f41799e7f7 Merge "Camera2: update the range of metering weight" into lmp-preview-dev 2014-05-30 21:41:42 +00:00
Yin-Chia Yeh
97f1c85499 Camera2: update the range of metering weight
Limit the range of metering weight to 0-1000.

Bug: 15315352
Change-Id: Iceb13b72508cb3c9f758bdcb1b69b6b11ec5aaf8
2014-05-30 12:05:48 -07:00
Igor Murashkin
5743868e15 camera2: Change android.lens.focusRange to Pair<Float,Float>
Since the focus range is defined in diopters (1/distance), it just so
happens that in a range [near, far] near >= far which is against the
android.util.Range contract.

Change it to pair instead.

Also adds a marshaler for Pairs since they didn't have one before
(and aren't parcelable).

Bug: 15335269
Change-Id: If2f3259aeec072438a1c18c1b9728a4c81e92a40
2014-05-30 11:28:49 -07:00
Zhijun He
421ddbe670 Camera2: Fix availableCapabilities incorrect type
Bug: 15168075
Change-Id: I50553d740101b7db1b7695344bf4cdf9c5cd1cf9
2014-05-29 21:00:26 +00:00
Zhijun He
f5fe63c35c Merge "Camera2: Update spec for thumbnail cropping behavior" into lmp-preview-dev 2014-05-28 22:49:31 +00:00
Zhijun He
50f7243ca0 Camera2: Update spec for thumbnail cropping behavior
Also update FULL capability spec (remove ZSL from the requirement list).

Bug: 15168075
Change-Id: I864baf35ffab9047b52facb29011682e724bbc9b
2014-05-28 15:23:21 -07:00
Yin-Chia Yeh
884cddcdf4 Camera2: Fix wrong index in ColorSpaceTransform
Bug: 15309870
Change-Id: I89a043a005435695ac8649e20d4e0e58d0f62bc7
2014-05-28 20:54:24 +00:00
Ruben Brunk
574936894d camera2: Update native/managed key mappings.
Switches to using managed value classes for the following keys:
- android.sensor.info.sensitivityRange
- android.sensor.info.exposureTimeRange
- android.jpeg.gpsCoordinates
- android.jpeg.gpsTimestamp
- android.jpeg.gpsProcessingMethod
- android.statistics.lensShadingMap
- android.lens.info.shadingMapSize
Also fixes a minor bug in LensShadingMap

Bug: 14628001
Change-Id: Ia0f541242f529ab9ba3111db799306b198f2b40b
2014-05-28 10:26:21 -07:00
Yin-Chia Yeh
8490ace76f Camera2: switch API interface to java classses
android.sensor.info.physicalSize: float[] -> SizeF
android.statistics.hotPixelMap: int[] -> Point[]
android.tonemap.curve[Red|Green|Blue]: float[] -> TonemapCurve

Bug: 14628001
Change-Id: I1e085f5e640a059852fcb504b6dd5f884039e653
2014-05-28 01:36:54 -07:00
Eino-Ville Talvala
2bb91a7a68 Camera2: Use ColorSpaceTransform and RggbChannelVector, replace enum byte[]
Also fix a minor bug in ColorSpaceTransform copying validation.

Affected keys:
  android.colorCorrection.transform
  android.colorCorrection.gain
  android.control.aeAvailableAntibandingModes
  android.control.aeAvailableModes
  android.control.afAvailableModes
  android.control.availableEffects
  android.control.availableSceneModes
  android.control.availableVideoStabilizationModes
  android.control.awbAvailableModes
  android.edge.availableEdgeModes
  android.hotpixel.availableHotPixelModes
  android.lens.info.availableOpticalStabilization
  android.noiseReduction.availableNoiseReductionModes
  android.sensor.calibrationTransform1
  android.sensor.calibrationTransform2
  android.sensor.colorTransform1
  android.sensor.colorTransform2
  android.sensor.forwardTransform1
  android.sensor.forwardTransform2
  android.statistics.info.availableFaceDetectModes
  android.tonemap.availableToneMapModes

Bug: 14628001
Change-Id: Ic0a3ff0aaa6bfe872cf8fb740870618c3eee3008
2014-05-28 01:36:53 -07:00
Igor Murashkin
78712a8bd7 camera2: Add new metadata keys, change types for existing range keys
Also adds the following keys:
* android.control.maxRegionsAe
* android.control.maxRegionsAwb
* android.control.maxRegionsAf
* android.request.maxNumOutputRaw
* android.request.maxNumOutputProc
* android.request.maxNumOutputProcStalling

Changes the following keys' type
generations:
* android.control.aeTargetFpsRange
* (Range<Integer>)
* android.control.aeAvailableTargetFpsRanges
* (Range<Integer>[])
* android.control.aeCompensationRange
* (Range<Integer>)
* android.lens.focusRange
* (Range<Float>)

Bug: 14628001
Change-Id: I141847dffc4b0d89cea37c19a54d6d5faf24a9bb
2014-05-28 01:36:53 -07:00
Yin-Chia Yeh
817f8933ee Camera2: Replace int[] by MeteringRectangle
Bug: 14628001
Change-Id: I8ae4efa24d41043046a84b04e5209259a8a21063
2014-05-28 01:36:53 -07:00
Igor Murashkin
db075afc85 camera2: Add partial results to the capture listener (API change)
* Also adds capture sequence aborted callback

Bug: 12492876
Change-Id: I56ec8edbcda8b64c2262ff7472961ac78042c7f4
2014-05-27 11:25:24 -07:00
Ruben Brunk
0bfa56e766 Merge "camera2: Move DngCreator to hardware/camera2." into lmp-preview-dev 2014-05-24 00:25:59 +00:00
Zhijun He
8949225294 Camera2: Mark the under-specified tags for FUTURE
Also clean up the tag ids.

Bug: 15168075
Change-Id: I57fb6fb37e512c224370c72d806a4b702360f29f
2014-05-23 13:49:59 -07:00
Ruben Brunk
db67ffd62b Merge "DO NOT MERGE: Javadoc fix." into lmp-preview-dev 2014-05-23 20:02:01 +00:00
Ruben Brunk
5e3c3aa44d DO NOT MERGE: Javadoc fix.
Bug: 15189630

Change-Id: I4644ec782e636104fc06a27716f2fd224003e8d2
(cherry picked from commit 0a03a2ab50b665d382f92a1219177c3bd6fc568b)
2014-05-23 19:04:47 +00:00
Igor Murashkin
d6d65154e5 camera2: Refactor CameraMetadata.Key out into 3 key classes
Before:
* CameraMetadata.Key<T>

After:
* CameraCharacteristics.Key<T>
* CaptureResult.Key<T>
* CaptureRequest.Key<T>

CameraMetadata#get has been removed (each metadata subclass has
its own #get now) due to java generic limitations (in particular
a type bound <T1<T2> extends Key<T2>> is an illegal bound).

CameraMetadataNative gets a new #dumpToLog function to dump the native
metadata to logcat.

Bug: 15091017
Change-Id: Ic56c54c0d184e209e20de374dc8a6d79527c209f
2014-05-23 11:55:29 -07:00
Zhijun He
1498615d56 Camera2: Add croppingType tag
This is to indicate if the camera supports arbitrary cropping.

Bug: 15168075
Change-Id: Ib75f7af629be816229cc686c89980fec101301c0
2014-05-22 21:58:48 -07:00
Zhijun He
9e6d1880c2 Camera2: Raw is not croppable
Update spec doc to clarify that raw stream is not croppable.

Bug: 15168075
Change-Id: I4ffa8e2a06acd17913426ba37744bb9df1bc7330
2014-05-22 16:47:35 -07:00
Zhijun He
fa7c755a92 Camera2: Clarify shading map spec
The existing spec is unclear about shading map calculation for both application
developer and hal implementers, need more clarification.

Also fix a typo in tonemap.mode.

Bug: 15168075
Change-Id: I7f38ccf6aa6938fdac9f64e95deddc0188025d08
2014-05-22 16:36:02 -07:00
Ruben Brunk
b6079005ed camera2: Move DngCreator to hardware/camera2.
Bug: 15091253
Change-Id: Ibe2ee376436e5c796e33c0b782ea68278589f2e6
2014-05-22 22:57:11 +00:00
Eino-Ville Talvala
cca00c614c Camera2: New capture session interface
- Add CameraCaptureSession for all operations that require a
  valid camera configuration
- Deprecate methods in CameraDevice that are moving to CameraCaptureSession
- Document new semantics

Bug: 14964443
Change-Id: I53b2b71ed2b746cfcf76a01483f499765eb5047b
2014-05-22 20:52:36 +00:00
Ruben Brunk
94520c7460 Merge "camera2: Add HAL1 compatibility shim skeleton." 2014-05-22 06:08:56 +00:00
Jinsuk Kim
9302a733b0 Fix broken build
Change-Id: Icff98663842482149d8c5c5371327121a1adff3d
2014-05-22 04:35:08 +00:00
Jinsuk Kim
78d695d8ba Add feature actions for HDMI-CEC playback device
- OneTouchPlayAction
- DevicePowerStatusAction
- addHotplugEventListener
- removeHotplugEventListener

Change-Id: Ia7f31507ca62127efbacbbfe07ab43ba1f9bd4cf
2014-05-22 11:15:51 +09:00
Ruben Brunk
feb50af361 camera2: Add HAL1 compatibility shim skeleton.
This adds basic support for running the Camera2 API on a device running
a camera HAL version lower than CAMERA_MODULE_API_VERSION_2_0.

This CL includes support for:
- N-way preview output streams
- N-way jpeg output streams
- CameraDevice emulation at the binder interface
- Basic camera metadata querying in the CameraManager

Bug: 15117269
Bug: 15116722

Change-Id: I8322955034c91f34bb348d4b28c2b774dbef38f6
2014-05-21 16:37:59 -07:00
Mike Lockwood
5633e37ec1 Merge "USB: Minor cleanup from API council review" 2014-05-20 18:58:35 +00:00
Mike Lockwood
fa2b3fc6cd USB: Minor cleanup from API council review
Bug: 15089961
Change-Id: I8a22fad94d2a52d2270c89240b2a47bd1cef17b5
2014-05-20 11:14:58 -07:00
Jinsuk Kim
91120c541a HdmiControlManager with HdmiPlaybackClient API definition
This is a rewrite of HdmiCecManager that exposes API for CEC Playback
device control. HdmiCecManager will be removed together with
HdmiCecService once the migration is completed.

Replaced direct access to CEC commands with the following 2 API:
- oneTouchPlay
- queryDisplayStatus

Each method requires communication with other device on CEC bus,
hence might take some time to finish. The result at the end of
protocol exchange is reported through a callback provided as a
parameter to the method.

The callback is based on interface not abstract class since
it has only one method 'onComplete'.

Change-Id: I41e9d4571f890303282a79a803c86530d0b46974
2014-05-19 07:46:26 +09:00
Ruben Brunk
f967a5486a camera2: Plumb DngCreator to native library.
Change-Id: Ic58bf6cf5086808b503460ef8e451fc0d6f1f850
2014-05-16 23:25:51 -07:00
Igor Murashkin
9d08a93b2d Merge "camera2: Move parameters around to different packages" 2014-05-16 18:08:41 +00:00
Jungshik Jang
b0650e8ff3 Merge "Add ARC commands" 2014-05-16 06:49:18 +00:00
Jungshik Jang
be9cd8eb3f Add ARC commands
ARC, Audio Return Channel is newly introduced in HDMI CEC 1.4.
Here is a list of new command
<Initiate ARC>
<Report ARC Initiated>
<Report ARC Terminated>
<Request ARC Initiation>
<Request ARC Termination>
<Terminate ARC>

Along with it replaced <Get OSD Name> with <Give OSD Name>
which is renamed in CEC 1.4.

Change-Id: If4a7aedef839c8413a8e3b5f66f3df0c7234104b
2014-05-15 20:21:43 +09:00
Igor Murashkin
72f9f0a96e camera2: Move parameters around to different packages
* Camera-specific params to android.hardware.camera2.params
* Remove android.hardware.camera2.Size
* Move Rational to android.util

Bug: 14628001
Change-Id: Ie7a82bf9f4a0d8c18e0dc3a1581123c0d95da3f0
2014-05-14 18:24:58 -07:00
Igor Murashkin
9c595174cc camera2: Use StreamConfigurationMap for format/size/duration lookup
* Also @hide/@deprecate a bunch of other keys
* Move some classes into android.hardware.camera2.params

Bug: 14628001
Change-Id: I2db490a0849680a133a901403477a147b004fb28
2014-05-14 10:40:53 -07:00