cad1bfe68b3597741f777a8bf233cd440946936b |
|
23-May-2017 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Fix broken onCaptureBufferLost callback Turns out this never worked. 😱 - Add missing oncaptureBufferLost proxy method - To avoid this issue in the future, change CameraDeviceImpl.CaptureCallback to be an interface instead of an abstract class; now all implementers _must_ implement all the methods - For the short-circuit local callback when no callback is provided by the user, implement all no-ops explicitly. Test: Camera CTS continues to pass; manual testing with injected buffer drops Bug: 62004599 Change-Id: I7732903dbc00e80084162e067de66b5db6cee74c
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
0e04e910a6b0d8a7464df9721535dfba21527c37 |
|
01-Mar-2017 |
Eino-Ville Talvala <etalvala@google.com> |
CameraDevice: Add hidden createCustomCaptureSession This exposes a direct route to selecting the operating mode, instead of only allowing normal and high-speed modes. Test: Compiles Bug: 34853980 Change-Id: Ib4f833399834c9bacb9de666560e909109aa5af9
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
4bd7abe72a647ceb2175a4fe66aa640815c116f8 |
|
11-Jan-2017 |
Shuzhen Wang <shuzhenwang@google.com> |
Camera2: Combine API for deferred surface and shared surface - Unhide API to enable sharing surfaces via OutputConfiguration. - Combine the APIs for deferred surface and shared surfaces so that same functions can be used for both use cases. 1. setDeferredSurface becomes addSurface. 2. finishDeferredConfiguration becomes finalizeOutputConfiguration. - Better documentation on shared surface use cases. Test: Camera CTS, and preview/video/capture with GCA Bug: 33777818 Change-Id: I528b221492e07888a2da96658aaf8e7b9c4d1640
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
9c663d4415a077230924f40eaf291f51ff37e8b0 |
|
29-Oct-2016 |
Shuzhen Wang <shuzhenwang@google.com> |
Camera2: Add secondary surface to OutputConfiguration Test: camera cts, and manually test camera preview/capture/recording. Bug: 33777818 Change-Id: I853f2f48640e4b1ad20a468c152f7e9b536f7a3b
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
88f1af241045d446358c692e183e5ecb152bad91 |
|
30-Sep-2016 |
Shuzhen Wang <shuzhenwang@google.com> |
Camera2: Add onCaptureQueueEmpty callback onCaptureQueueEmpty indicates that the non-repeating capture request queue of camera device is empty, and is ready to process a new request. Test: testMultipleCapture in PerformanceTest.java Bug: 29006447 Change-Id: If245ff6abf352548ca13a10fcfbd1550b92c1224
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
b0025e1f6848b02cb4bd25f07c6f9567116f6aaf |
|
09-Aug-2016 |
Yin-Chia Yeh <yinchiayeh@google.com> |
Camera: ensure lock ordering (device->session) On close/abort calls, which are more likely to run in parallel with CameraDevice APIs. Bug: 30742426 Change-Id: I6550283d1026373d48bb730164e65b25c7037bab
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
c8b181e95d17c00f9fe4a8338c4cdd0eeac3a0dc |
|
30-May-2016 |
Zhijun He <zhijunhe@google.com> |
Camera2: add deferred output config support Allow surfaces to be deferred during session creation. Once the surfaces are ready, the application can finish the deferred output configuration to be able to submit requests with these surface targets. Bug: 28323863 Change-Id: Id6634c3ef2ecc84422a88f63de0a19a0cb496e96
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
7e71896561178a14622755e3bbc5b7d374850ca5 |
|
21-Apr-2016 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Ignore exception on double-completed capture sequences. As a workaround for b/27870771, convert fatal exception into a warning. Duplicate calls to finishPendingSequence with the same sequenceId are seen in user crash reports, but with no further context and inability to reproduce after testing various hypothesis, just warn about it happening. Bug: 27870771 Change-Id: Icd7d408887e04b94092689ce61809d6c664d8e3a
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
7ed1aaa369b6a459c776a9a6e96c33014b30f278 |
|
14-Aug-2015 |
Ruben Brunk <rubenbrunk@google.com> |
Add experimental camera session prepare API. Bug: 18949148 Change-Id: I35fde35436ae5bebab3c912243e621285307c211
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
14c09fa3c5371b977c77e5813eabb81941040627 |
|
16-Jul-2015 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Add hidden experimental tearDown method Bug: 18949148 Change-Id: I6264d95a26ebf51cce6114c9a86b9561f7c60ab5
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
639fffee624302ec5b175503d7bd8a441340a629 |
|
30-Jun-2015 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Reorganize high-speed recording API slightly - Split off distinct high speed capture session class from base capture session - Move createHighSpeedRequestList to CameraConstrainedHighSpeedCaptureSession Bug: 21664295 Change-Id: I67d705fdeee1eaa6e5e3e1416771d5d0df642843
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
d24e49bba8225d846546612b647dde70ad71f1dc |
|
05-Jun-2015 |
Zhijun He <zhijunhe@google.com> |
Camera2: add missing HFR implementation Bug: 21442271 Change-Id: I08c0a5b75ccb0f737013026511cfe3bf9e15c744
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
a7677722304670dc07feef242156b97e6bb51bcd |
|
02-Jun-2015 |
Zhijun He <zhijunhe@google.com> |
Camera2: implement high speed video APIs Bug: 21442271 Change-Id: Ia0ae5bbd3e8c81bad293c29987301a2457817d12
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
b1300e39c7974937d563b3ec62f5246248a157b3 |
|
28-May-2015 |
Zhijun He <zhijunhe@google.com> |
Camera2: add high speed video APIs Interface only. Bug: 21442271 Change-Id: If81caa0f2dc9f7802af564abcd9541aff3e30901
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
a78791f22af6c6985d186494737468bb19b69540 |
|
01-Jun-2015 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Remove isLoggable Change-Id: I83b2c8321ab6b48cf68ef7a4d724559ead1a1790
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
1975b0a4bedb997f4f106ab35be4889eb207cf60 |
|
19-May-2015 |
Eino-Ville Talvala <etalvala@google.com> |
Merge "Camera2: Fix session close callback" into mnc-dev
|
937c93c47d91962fcbc1cb08e5ce08d55d9a931e |
|
19-May-2015 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Fix session close callback If a session is directly replaced, it no longer will receive state change callbacks from the device. That means it'll never hear about abort or idle transitions. Fix this to signal onClose earlier, after sequences complete. This is reliable to wait on. Remove the unconfigure drainer, as we have nothing to do after null-stream configuration completes, now, so no point in triggering anything for it. Bug: 19666551 Change-Id: Ied6fb40126b79886cdbcb27d40a76a1646273dd2
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
125ff3cacd4f44c4fb01c2542521b6d2be69ee19 |
|
18-May-2015 |
Zhijun He <zhijunhe@google.com> |
Camera2: stop log spamming when closing a closed camera Bug: 21268174 Change-Id: I711380c52f5ce9829a660c6e1b999b0377ea6c7b
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
8062d31d27943da4d652878b4c36aeabb8bb8b08 |
|
12-May-2015 |
Chien-Yu Chen <cychen@google.com> |
Camera2: Fix reprocessing API naming and docs Rename reprocessible to reprocessable and OPAQUE reprocessing to PRIVATE reprocessing. Also fix a few broken links in reprocessing APIs. Bug: 21044522 Change-Id: I155b62d8743b036bd4b46f0da87749ce4e20b467
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
4560df76ebe9414da187e133786ffca9840e6e85 |
|
28-Apr-2015 |
Chien-Yu Chen <cychen@google.com> |
camera2: allow mixing regular/reprocess requests Allow mixing regular and reprocess requests in burst requests. Create RequestLastFrameNumbersHolder to store the last regular frame number and the last reprocess frame number in a capture request list which can be used to determine if the capture sequence is completed. Bug: 20537735 Change-Id: I0880f8c845380e1c7ffe504225a556829dfeccf6
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
7a316f6b1b040f0113161db87a36397aebfb80b8 |
|
13-Apr-2015 |
Chien-Yu Chen <cychen@google.com> |
camera2: validate reprocess request's session Add a session ID to CaptureResult to indicate the session where the result comes from. When creating a reprocess capture request with a capture result, the session ID will be carried over to the reprocess capture request. Reprocess capture request's session ID will be used to validate that it matches the session ID when submitting the reprocess capture request to a session. Bug: 20263212 Change-Id: I024c1a28ecf0a43909a0ed3814a11360c318417f
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
ad916f7fd3fbb202f2993fea04b0bdad3dcd6de6 |
|
11-Apr-2015 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Add prepare method for output buffer pre-allocation Normally, buffers for camera output Surfaces are allocated as needed. This minimizes memory overhead and time to first frame. However, if allocation takes a long time, as it can do for full-resolution output buffers, full frame rate may not be maintainable with the added allocation overhead. The prepare() method allows an application to indicate that buffers for a given output Surface should be preallocated by the camera device. Once the allocation is complete, the onSurfacePrepared callback is invoked. The application may then use the prepared Surface without concerns about allocation-caused delays. Change-Id: I4f616dc87dd4346f408cf1ea37d48a642ceb57da
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
5398a676809faaf3c6c2875edc1907ad6b8e1c89 |
|
19-Mar-2015 |
Chien-Yu Chen <cychen@google.com> |
camera2: add reprocess support Add reprocess API and implementation to support creating reprocess capture sessions, reprocess requests, and receiving reprocess capture results. Change-Id: I4c1c02f41d1712f65e729ea3ba09592a27ffe86d
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac |
|
28-Feb-2015 |
John Spurlock <jspurlock@google.com> |
Remove unused imports in frameworks/base. Change-Id: I031443de83f93eb57a98863001826671b18f3b17
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
56fbbeab7931386af7ad9701fad9b62c170abd77 |
|
24-Sep-2014 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Fix parallel session and device close() exception It's possible for the device to have close() called on it during the session close sequence such that the session still tries to do a stream reconfiguration on the closed device. Handle the exception thrown by this attempt. Bug: 17661765 Change-Id: Iee63c5c559405abe5c044ae251ad56edd1fb3e79
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
51dcfd65a6742884e07182dd7d13b916fd4e0305 |
|
26-Sep-2014 |
Igor Murashkin <iam@google.com> |
camera2: Fix race conditions and deadlocks around configuration Fixes an illegal state exception that sometimes occurs during configuration. Fixes a deadlock during unconfiguration. Fixes the idle handler never being run during configuration. Bug: 17628736 Change-Id: Id2c5e416f96fcbac9c718fca3cc2cf21734bc6a4
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
9503785393ba8999473b7a924ede2baf520e367c |
|
14-Sep-2014 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Clean up corner case error handling - If a session is closed, and a new session is created immediately afterwards, but then fails to be configured, the first session sees an onUnconfigured call which it wasn't expecting, and throws an exception on an internal thread, leading to app death. Add a guard against this case. - If the lower levels skip a frame (illegal per design), be slightly more robust to that by accepting any successful result as the latest completed frame, instead of just incrementing the completed frame count. This will lead to missing results, but should allow shutdown, etc, to complete cleanly. - Convert TIMED_OUT error codes to CAMERA_ERROR CameraAccessExceptions. This is a common error code returned by waitUntilIdle. Also, improve debug logging to log a session ID with verbose logging, and add a few verbose logs. Bug: 16899526 Change-Id: I7a31f0a12effc2611e1f9c2408224ee82c37c912
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
ee7ea8534067fd83ce4e446da5fd8b538cc2c444 |
|
09-Sep-2014 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Allow captures right after abort Since implementation is still largely synchronous, this is safe. For the future full-asynchronous implementation, this is the behavior we want in any case. Bug: 17345630 Change-Id: Ib54a3441b21fa8cb42bcc6548e5639d9db7ec193
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
fd887436bd111e4d2c7307578a51b5070025b7f2 |
|
04-Sep-2014 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Final API revisions - Rename listeners to callbacks. Listeners are single-method and are interfaces, while callbacks are abstract may get more methods in the future. - Use register/unregister for registering callbacks, not add/remove. Bug: 17389922 Change-Id: Ic6b46ad79cb43a43a85e2a4b63f059d3af99798b
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
acc0095bc84914d3ce41ad8298f698c37935b8a8 |
|
06-Aug-2014 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Correct error handling - Report capture failures from service to application - Only go to error state for device-level errors - Adjust binder interface method names to match the service side names - Reduce failed session creation logging - Don't fire CaptureSession.onActive for CameraDevice.onBusy - Check with session to determine capture failure reason Bug: 17160301 Bug: 15524101 Bug: 14448494 Bug: 11272459 Change-Id: I9dd606004fd7845910dc865738fbe17f1640f07d
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
10fbbbb6babc2700c731ac85fc0137d481e4d256 |
|
20-Aug-2014 |
Igor Murashkin <iam@google.com> |
camera2: Enable configuration failure to call #onConfigureFailed Bug: 16629195 Change-Id: I0c365bc8f760466916dcc089217a43c43f9f4c9d
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
d3b85f69a811113826933c8abf591f20e9b3c8ff |
|
06-Aug-2014 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Fix session shutdown race, frequent warning log - Make sure that session.close followed by device.createCaptureSession cannot race on configureOutputs calls - Silence warning about RAW_OPAQUE format Change-Id: I02e4a048e8b26ea61aadcf115b029e9fbb58ad4e
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
a6b5ba56036f19bdd816ef03ad37beccf0150050 |
|
03-Jul-2014 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Remove hidden parts of public CameraDevice - Remove everything @hide in CameraDevice - Move bits that are still needed into CameraDeviceImpl Change-Id: Ie22059a0eb5c4238142a8a1e8dbcf1a422e845aa
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
7875a886b8397684c5fac3dd022d19de9874b436 |
|
31-Jul-2014 |
Eino-Ville Talvala <etalvala@google.com> |
Camera2: Fix null-listener capture for CameraCaptureSession Correctly allow null listener/handler when invoked on a thread with no looper; otherwise all capture/repeating requests will fail even if listener is null. Change-Id: I4c64c81ad7f14b5cb309b4f92822cb50dbd74ba6
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
e1442204c1a2e8c6697d0640df06dc6314ed7113 |
|
10-Jun-2014 |
Igor Murashkin <iam@google.com> |
camera2: Fix session-related CTS test failures Bug: 15474402 Change-Id: I4ae86166b5ce99a854c754c8ac6d6c23c683b14a
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
4b3f8004382192e066bb0c38bf39421f312daaf2 |
|
05-Jun-2014 |
Sol Boucher <solb@google.com> |
camera2: Fix ordering issue between #onOpened and createCaptureSession This resolves an issue where the CameraDevice.StateListener callbacks were erroneously called before the CameraCaptureSession.StateListener ones, preventing e.g. creating a capture session from the CameraDevice.StateListener#onOpened() callback. It also explicitly ignores CameraDevice.StateListener#onUnconfigured() calls occurring before the first call to #close . Bug: 15449190 Change-Id: Ic0094d53a65e42108201d7bb50734d17290fa9bf
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
21547d66a9ce591ff30a3ad4102f7f30a4764d80 |
|
05-Jun-2014 |
Igor Murashkin <iam@google.com> |
camera2: Change CaptureListener callbacks to include the session (api) * Also makes CameraDevice an abstract class (API) Bug: 15428219 Bug: 14964443 Change-Id: I0e8c8309186aad59570aac7e0f998bb615405f0a
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|
0b27d3453d5e257594792e9177c5fedb1bc6f9e9 |
|
30-May-2014 |
Igor Murashkin <iam@google.com> |
camera2: Implement most of CameraCaptureSession Bug: 14964443 Change-Id: I8203842c77a94a3a6e5f89494fce658b00a4160d
/frameworks/base/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java
|