307 Commits

Author SHA1 Message Date
Igor Murashkin
007bfb14d2 util: Make Rational a Number/Comparable; add Range#inRange
* 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
2014-06-06 16:38:09 -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
Yin-Chia Yeh
8298472764 Camera2: Test null TonemapCurve behavior
Add a test to verify we return null TonemapCurve when at least one
channel of tonemap curve is absent.

Bug: 14628001
Change-Id: I3e89dbcf00e5f21b01fc78fe43fe5c4200690357
2014-05-28 15:39:50 -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
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
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
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
Igor Murashkin
3c40a046cf camera2: Update native<->managed camera metadata marshalers
* 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
2014-05-13 15:28:24 -07:00
Igor Murashkin
53a1d323df camera2: Fix broken camera metadata test due to key rename
Change-Id: I0367550b5bb9f80c8df272804eab7052c122104d
2014-04-22 16:29:45 -07:00
Lajos Molnar
e0e77cb5bb Remove VideoEditor
remove android.media.videoeditor.*

No longer supported and should not be used.

Bug: 13542518
Change-Id: I12de122443f0289ab1dfdd8b553e572a830cf412
2014-04-21 16:11:51 -07:00
Zhijun He
438d77e042 MediaFrameworkTest: Fix Camera2 API unit test build breakage
Change-Id: I49329e2c3bbf1290f1f6e7c64dbb56eb831e5a96
2014-04-10 17:09:22 -07:00
Zhijun He
8d637b819b Camera2: Fix the JPEG format issues
Also add unit test.

Bug: 13836016

Change-Id: I0af4bfe299f99c99e70faf5d3159eb0cbcc147eb
2014-04-09 18:51:38 +00:00
Igor Murashkin
5c207ec9a0 camera2: Fix out-of-date metadata test
* The tag android.sensor.calibrationTransform1 was renamed
  to android.sensor.calibrationTransform (1 removed)

Bug: 12002757
Change-Id: Ida0e37a30222f08d0d9bb3871717c74c21e428ac
2014-04-01 15:50:48 -07:00
John Spurlock
a77cf87354 Merge "Tabs -> spaces in frameworks/base." 2014-02-25 19:57:33 +00:00
John Spurlock
8a985d24ce Tabs -> spaces in frameworks/base.
Change-Id: I5a84e8e93ac99b5ed0212b37bf66efa5e53864be
2014-02-25 09:49:29 -05:00
Chong Zhang
daa98ca8d7 support time lapse/slow motion on SURFACE source
- 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
2014-02-14 15:53:25 -08:00
Chong Zhang
e996c419e6 MediaRecorderTest: add tests for getSurface() and SURFACE source
Bug: 12305192
Change-Id: I2f63799219273dc84732ba3b7a9dceb84a1f27a7
2014-01-16 10:38:35 -08:00
Zhijun He
b7bfdc7cf7 Camera2: add metadata override
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
2013-10-07 08:02:25 -07:00
Eino-Ville Talvala
e841d4e165 Camera2: Implement idle callbacks
- 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
2013-10-03 15:44:32 +00:00
Zhijun He
7b7a154026 Camera2: Fix Camera integration test deadlock
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
2013-09-25 19:33:31 -07:00
Zhijun He
2001188be3 Camera2: Implement CameraManager#getCameraCharacteristics
Bug: 10904541
Bug: 10360518
Change-Id: I1da0b0319703fda46789f15a232e56ed1d928bc3
2013-09-25 13:54:25 -07:00
Igor Murashkin
68f40066c9 camera2: Rename CameraProperties to CameraCharacteristics
Bug: 10360518
Change-Id: I8667bdcc8c9528ace96dc675585f923004932641
2013-09-21 21:01:32 -07:00
Yu Shan Emily Lau
98d18bbc5e Merge "Fix media stress test." into klp-dev 2013-09-16 21:11:25 +00:00
Yu Shan Emily Lau
c10b55a5e4 Fix media stress test.
1) Fix the CamcorderProifle initalization.
2) Insert 2 seconds after camera release.

Change-Id: Ib22f1922a917233f3d1020dc67de834e00fd0959
2013-09-16 12:50:12 -07:00
Igor Murashkin
e3351f1942 media: Update ImageReader to remove MaxImagesAcquiredException
* acquiring images now throws IllegalStateException instead of
    MaxImagesAcquiredException

Bug: 10691447
Change-Id: I7ce68f990fb96703705b9181012a28633fea0b7a
2013-09-13 23:27:44 -07:00
Igor Murashkin
5e712064df media: Update ImageReader APIs
Bug: 10461757
Change-Id: Ic04e4c41965e3d417b29004f3f08e0cd56b8f4cb
2013-09-12 16:57:57 -07:00
Eino-Ville Talvala
70c2207c34 Camera2: Immutable metadata
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
2013-09-11 13:18:10 -07:00
Timothy Knight
23c8809568 Camera2: Updated Rational for denom=0.
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
2013-09-04 16:58:58 +00:00
Eino-Ville Talvala
8ebd52bf41 Camera2: Add CameraDevice#flush()
- For quickly clearing out all pending and in-progress captures

Bug: 9758581
Change-Id: Ie4123fcc4d4b648a11d4a6257c531f07182bab39
2013-08-23 14:20:35 -07:00
Yu Shan Emily Lau
c8d0756776 Add the checking for the camcorder profile.
Not all the devie have camera. Only run the
recording test when the camcorder profile is
not null.

Change-Id: Ib38df363fe5e6049b72e97ae229964fb65882269
2013-08-19 19:03:26 -07:00
Eino-Ville Talvala
b6c38e9de1 Camera2: Remove redundant Keys classes
Also update tests accordingly

Bug: 10345522
Change-Id: I8c7d17cdfbda6faba09134745a96089bf1b70cb7
2013-08-19 20:37:37 +00:00
Ruben Brunk
66ef645144 Refactor CameraService to handle errors properly.
Bug: 10361136

- Connect calls now return status_t error flags.

Change-Id: Ibce9ab047348cfcade7e70a2ef03f5a833e13af8
2013-08-16 18:34:23 +00:00
Xia Wang
373673abd6 am 3a5e2013: am ebbcc18e: am 4032217e: Merge "Add option for video playback test to accept media source path." into jb-mr2-dev
* commit '3a5e2013a1296065a4674bdc43f357d3a352a6e9':
  Add option for video playback test to accept media source path.
2013-08-05 16:03:01 -07:00
Zhijun He
693e21d605 MediaFrameworkTest: Add camera capture result callback test
Also refactor the code to reduce code duplication.

Change-Id: I428ad73510043ebf9e62cd7841bfdb683c96f9bc
2013-08-02 15:24:45 -07:00
Eino-Ville Talvala
2f1a2e423e Camera2 API: Rename package to android.hardware.camera2
Change-Id: I77b7939e199f9fe8e12a59393c24cff08097448c
2013-07-30 11:37:31 -07:00
Zhijun He
7f4d3147d1 camera2: Implement CameraDevice#waitUntilIdle
Also cleanup some logging/comments.

Change-Id: Id1a4dd853519802a2b74b8d2172095ba388329e6
2013-07-23 13:46:37 -07:00
Zhijun He
229019e6af MediaFrameworkTest: Fix camera unit test failure
Fix for testSubmitStreamingRequest failure

Change-Id: I2e22a56b3da90112a668c2185b05eb9288cde392
2013-07-22 18:08:30 -07:00
Igor Murashkin
3710db80d4 camera2 api: marshal rect, size, string for metadata
Change-Id: Iec2fd823bc92394da44abb32ca38a625d7638e3d
2013-07-19 12:04:48 -07:00
Igor Murashkin
d7bf1778df camera2: Implement CameraDevice#getCameraInfo
Bug: 9529161
Change-Id: Ie37d1e07bb8416cbb141f4d49e52337bf7236610
2013-07-15 13:37:08 -07:00
Igor Murashkin
b9dd637f83 camera2 api: Generate metadata keys and enums from XML
Change-Id: I9b04b5933c5922fc522e9216f4deebcd6fc24d78
2013-07-12 17:25:50 -07:00
Xia Wang
796c93b110 Add option for video playback test to accept media source path.
This allows the stress test to be able to streaming video over network.

Change-Id: Ie0089c1ba2a076c9c1325934643c2f22f2ca9866
2013-07-11 19:30:51 -07:00
Igor Murashkin
b519cc52ec camera2 api: Add CameraMetadata get/set support
* 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
2013-07-11 13:06:56 -07:00
Igor Murashkin
70725500dc Initial camera device implementation
* Working streaming preview requests only
* Almost everything else returns empty objects that don't do anything

Bug: 9213377
Change-Id: Ie6f02a7c0952b0f5ebc41905425b15cae221f7d3
2013-06-26 13:19:45 -07:00
Igor Murashkin
e363fbb264 Partial CameraManager implementation
Bug: 9213377
Change-Id: I8f89fb94d7081a71b38e5cd0ad89116d219b4c33
2013-06-26 13:19:44 -07:00
Igor Murashkin
a858308ed2 Revert "Partial CameraManager implementation"
This reverts commit e473f7d8f96b5682141522378b761913192d8114.

Change-Id: I23e92ca2def0ebf507f6c782442a4698745bc926
2013-06-25 05:15:02 +00:00
Igor Murashkin
e473f7d8f9 Partial CameraManager implementation
Bug: 9213377
Change-Id: I29864a5d1f7971ed589d1ffaddeefbb703e34018
2013-06-24 17:41:09 -07:00
Marco Nelissen
2d2cd32cc7 Make MediaPlayer.invoke() public-and-hidden again
It's used in a bunch of other places in other repos that I don't
want to touch.

Change-Id: I6f2ec6f8066286de9b52499fc71f3f08953c3cb4
2013-06-14 09:47:27 -07:00
Marco Nelissen
85c28e8183 Forgot something
Change-Id: Ia579213303e79b282a7ba472b39576d4b160a739
2013-06-14 09:18:35 -07:00
Marco Nelissen
c2f9024b13 Fix build
We don't need a separate test for invoke() because there are other
tests that exercise it.

Change-Id: I8c8f3593e7e9eed3c53997453f0f66ba8374e79e
2013-06-14 09:14:28 -07:00