* Also changes Rational to reduce the numerator/denominator by
its greatest common divisor at construction time (e.g. (2/4 -> 1/2)).
Bug: 15432042
Change-Id: Ib827abccf44a040667e5931cf9442afc86b57e2d
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
Add a test to verify we return null TonemapCurve when at least one
channel of tonemap curve is absent.
Bug: 14628001
Change-Id: I3e89dbcf00e5f21b01fc78fe43fe5c4200690357
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
* Also @hide/@deprecate a bunch of other keys
* Move some classes into android.hardware.camera2.params
Bug: 14628001
Change-Id: I2db490a0849680a133a901403477a147b004fb28
* Improve existing marshalers:
- each managed/native type combination can be queried marshal support
- marshalers can recursively call other marshalers for nested types
- support marshaling/unmarshaling generic classes by using super type tokens
* Add new marshalers for:
- ColorSpaceTransform
- MeteringRectangle
- Parcelable
- Range<T>
- ReprocessFormatsMap
- RggbChannelVector
- SizeF
- StreamConfiguration
- StreamConfigurationDuration
Batteries included; so are unit tests.
Bug: 14628001
Change-Id: I38d3e646ccfb3953898cd6f750c33e4097328482
* The tag android.sensor.calibrationTransform1 was renamed
to android.sensor.calibrationTransform (1 removed)
Bug: 12002757
Change-Id: Ida0e37a30222f08d0d9bb3871717c74c21e428ac
- pass time between capture as us, in high fps case ms could
be inaccurate
- add test cases in MediaRecorderTest for time lapse/slow motion
Bug: 13032650
Change-Id: I34ecc3b39e0519753f74ae42afcaeeddfff1666a
There are interface difference between managed and native side for some
metadata, like Face and JPEG format. we need override them when they are set/get
between native and managed sides.
Also fix some issues in the CameraMetadataTest.
Bug: 10406212
Change-Id: Ibd8be0415968445e711b3ea89f45e1edfa193ee2
- Rework camera callback binder interface
- Connect up idle, disconnect callbacks
- A few unit tests for shutter firing and idle use
Bug: 10549462
Change-Id: I8455a8a0561e366b7edeef6b101682be2ec44d79
The problem was: when SurfaceTexture is used, test didn't acquire/release
images when they are produced, then it starves the producer and
cause deadlock. This change replaces SurfaceTexture with ImageReader, release
every image produced immediately.
Bug: 10360518
Change-Id: I9aabaee23013277c2da6f5825ac931bc10511fbc
Make all camera metadata immutable once created; requests are
created using CameraRequest.Builder.
- Separate CameraMetadata implementation from interface
- Implement deep copying of metadata
- Requests/results/properties have-a native implementation
Bug: 10360518
Change-Id: Ia6300c237219d39f70c63156fa9ca666d951a36e
Handle NaN and INF using the same semantics as Java floats. No longer
throw an exception if a rational is constructed with a zero-denominator.
This commit is required for the ITS pdk app, since without it, the app
fails when it tries to deserialize rational values that are
(incorrectly) set to 0/0.
Bug: 10337323
Change-Id: I890ec2092f2945abc0f531fc46f9a7f5c71d2dbf
Not all the devie have camera. Only run the
recording test when the camcorder profile is
not null.
Change-Id: Ib38df363fe5e6049b72e97ae229964fb65882269
* Add a Rational class
* Can get/set Key<T> where T is a primitive (or Rational)
* Can get/set Key<T> where T is a primitive array
* Can get/set Key<T> where T is an enum (synthetic constructor only)
Not implemented yet:
* When T is anything else, i.e. Rect, Size, etc
Bug: 9529161
Change-Id: I64438024a1e8327a38dd2672652626f0ffbb70e3
* Working streaming preview requests only
* Almost everything else returns empty objects that don't do anything
Bug: 9213377
Change-Id: Ie6f02a7c0952b0f5ebc41905425b15cae221f7d3