| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| | |
* commit '4f53fe74051026e6635ba5bdbed4f1898cb66028':
CameraService: deadlock fix
|
| |
| |
| |
| |
| |
| |
| | |
Release lock before return from CameraService::dump()
Change-Id: Ia20b0921fc675a284f3b7f8d26e0e3596b5a8774
Signed-off-by: Kalle Lampila <kallex.lampila@intel.com>
|
|\ \
| |/
| |
| | |
Change-Id: I19e1a26bd0226119c4fe2920bf6a09aaeff315d9
|
| |
| |
| |
| |
| |
| |
| | |
Use PRId64 from inttypes.h to print nsecs_t (int64_t)
Use %zu to print size_t
Change-Id: I135620e0388db33587a8a7da393b48a45cb7275a
|
|\ \
| |/
|/|
| |
| | |
* commit 'bd3e2e03f3ab686c52982a9e50cae853128172cf':
camera2: Fix segfault when using null availability listener
|
| |
| |
| |
| |
| |
| |
| |
| | |
ICameraService::addListener / removeListener will now return BAD_VALUE
if a null listener is used.
Bug: 12891434
Change-Id: I9764110094d8fd42e22fcc8df3ef0e73c1b070e7
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Contains the necessary changes to make frameworks/av build and work
on a 64-bit machine.
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Change-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43
|
|
|
|
|
| |
Bug: 11324229
Change-Id: Ic920e170a8f5a389fc139bbf5416c0e3186c7fb6
|
|
|
|
|
|
|
| |
This effectively disables the camera2 APIs for HAL2.x or lower HAL device.
Bug: 10360518
Change-Id: I0f374ac533468c6181f5672c75088b7144b9c53d
|
|
|
|
|
|
| |
Bug: 10904541
Bug: 10360518
Change-Id: Ie9ca6b3b0b5f2fe529e6b0decc193096e770a017
|
|
|
|
|
|
| |
Bug: 10620944
Change-Id: I44c0d09a3d313ae8f724fbe61fa5f36cf5b38b6d
|
|
|
|
|
|
|
|
| |
Bug: 10361136
-Connect calls now return status_t error flags.
Change-Id: Idca453b111e5df31327f6c99ebe853bb2e332b95
|
|
|
|
|
|
|
|
|
|
|
| |
- Support API rename from photography to camera2
- Reorganize camera service files
- API support files to api1/, api2/, api_pro/
- HAL device support files into device{1,2,3}/
- Common files into common/
- Camera service remains at top-level
Change-Id: Ie474c12536f543832fba0a2dc936ac4fd39fe6a9
|
|
|
|
| |
Change-Id: Iae7e5f9e6387f61f1c4bbb91f75803fc1fdf2668
|
|
|
|
|
| |
Bug: 9213377
Change-Id: I5b2eeab28985f53dfcb7b8e3029930f5adcd74f5
|
|
|
|
|
|
|
|
|
|
|
| |
* Verified preview streaming requests
* Other things *should* work but unverified / unimplemented in client side
Missing:
* CameraService needs to return static camera info metadata
Bug: 9213377
Change-Id: I71568560fcf18d0e2b408ed1c4d0066647314868
|
|
|
|
|
|
|
|
|
| |
Fixes an issue where a client could unconditionally transition to PRESENT
after a client disconnects, even though the underlying HAL status was actually
NOT_PRESENT or ENUMERATING.
Bug: 8780114
Change-Id: I68adb5fc819eec3b046ddcb2507b84bedc999a0f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the binder connection dies and is the only holder of a strong
pointer to the Camera2Client, disconnect is called from the
destructor. At this point, all weak pointers to Camera2Client are no
longer promotable, and lots of cleanup code paths are broken as a
result.
Rework all such code paths to not need the client pointer, and to
discard image buffers that arrive during shutdown.
Bug: 8696047
Change-Id: Ic0672ecde7c1baaf65079f925a45bd5be45f1fb3
|
|
|
|
|
|
|
| |
* Minor: also change addListener to fire the current status upon subscription
* Minor: STATUS_AVAILABLE is now an alias for STATUS_PRESENT and deprecated
Change-Id: I254608a7332095e3ef201ffea64cff156cfc1b3e
|
|
|
|
|
| |
Bug: 8337737
Change-Id: Ia6fca4365fa20fdbfd6a1ec8d047639a002f2aba
|
|
|
|
|
|
|
|
| |
* ProCamera uses the app ops manager
* Refactored connect calls to be as common as possible
* Removed some useless not implemented function calls in ProClient
Change-Id: I5dab30d20f0c202a494a07b2cfe4c1fa04a2a076
|
|
|
|
| |
Change-Id: I249e2a0fc47ae84f29c9d9c4a223fba13da3ee66
|
|
|
|
|
|
|
| |
* Also adds an ICameraServiceListener with available/not available statuses
Bug: 8291653
Change-Id: I24680f1a2dc109510caf451cf7c7bd180b670d84
|
|
|
|
|
|
|
| |
- Refactor common CameraDevice interface out of Camera2Device
- Initial skeleton only for Camera3Device
Change-Id: I097cc76e2ad102a51712ac114235163245f5482c
|
|
|
|
| |
Change-Id: Ie10a4094522d49683657665fe94ab0b7ccd280e9
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Camera:
- Signal to AppOpsService when camera usage starts and stops
- Listen to permissions revocations and act on them
- Currently just kill camera connection when permissions lost
Stagefright:
- Pass on client name, UID to camera as needed
Bug: 8181262
Change-Id: I9e33c9d05e9daa77dbb2d795045d08eb887ec8f0
|
|
|
|
| |
Change-Id: I1ae7ba9b24f5883c214c19a7ed0eaf0c802d69c1
|
|
|
|
| |
Change-Id: I2af7a807c99df75ea659e6e6acc9c4fca6a56274
|
|
|
|
| |
Change-Id: I957538663ae8332d26f3640c63a75efc79f4ac5c
|
|
|
|
|
|
|
|
| |
Explicitly logs camera module loaded. This is useful on systems with
multiple camera modules installed. Also this make the camera service
match audioflinger, which logs hardware module names as well.
Change-Id: I280bf12df2d517f936916b8ba3cb662e671d0216
|
|
|
|
| |
Change-Id: I4e8a8b20914cb64edc37abe68233fbc9f2b5d830
|
|
|
|
|
|
|
|
|
|
|
| |
If Camera2Client failed to initialize, it would skip disconnect step,
and thus the camera would be forever marked as busy. By always calling
disconnect it will always call free.
It also adds a new guarantee that Client::disconnect is idempotent
Bug: 7298182
Change-Id: Ic9876f1665b7d9b3c0da692880f63f165e3f4fa5
|
|
|
|
|
|
|
|
|
| |
The Binder driver does not support promoting weak pointers into strong
pointers. Occassionally the system would lock up when trying to do this
(when closing the camera app).
Bug: 7289040
Change-Id: I8bc0b5c48616bf0b7f4eed1878ad4994ee635871
|
|
|
|
|
|
|
|
|
| |
CameraService now subscribes to binder death notifications
for each client, and disconnects the client if the death happened
without cleanly shutting down the client first.
Bug: 7258314
Change-Id: I7803836b589fd8f0dfe00f6c28a707b82012e751
|
|
|
|
|
| |
Bug: 6243944
Change-Id: Id8730357f3adcd96923132f9f702e296e0dfd357
|
|
|
|
|
|
|
|
|
| |
Add dumpsys information even when there's no active client. Including:
- Camera module version / name / author
- Number of camera devices
- Static information for each device
Change-Id: Ib97e325f6be5f989b342d24f1ae17aa9e796f8ed
|
|
|
|
|
| |
Bug: 6243944
Change-Id: I52caaa6146050c38976768e99b0eeea1d13a3f51
|
|
|
|
|
|
|
|
|
|
|
| |
- Refactor initialization code to hide device type from CameraService
- Add metadata queue class to Camera2Device
- Initialization of Camera2Device, Camera2Client
- Conversion from HAL2 device static metadata to camera API
parameters.
Bug: 6243944
Change-Id: I524145b45438e906d8493dae202704ce8f090aeb
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add Camera2Client, which maps the current android.hardware.Camera
API to the new camera2 semantics
- Add Camera2Device, a C++ wrapper for the HAL camera 2 device
No functionality besides create/destroy; all client methods return
error or null.
Bug: 6243944
Change-Id: I6bd5136fa1efd8279b8cd2d9847d9b0bb2862294
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To allow for different low-level implementations of the current camera
API, the Client class inside CameraService has to be inheritable. This
change breaks it up into the common section accessed by the camera
service, and the full implementation for camera device HAL version 1.
The full implementation is moved out to CameraClient.h/.cpp.
There are no functionality changes, just code reorganization.
Bug: 6243944
Change-Id: I8a79b31a3ae3617198dc6bb5576a9f2e2d9c95de
|
|
|
|
|
|
|
|
| |
Applications are not resumed under the lock screen now.
This API is not needed anymore.
bug:5584464
Change-Id: I115daf6b647348617ec0fc05b626878c945b9b29
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* why deadlock happened: when an app (CTS camera test) crashes while using
camera, its binder is closed and reference counter is decreased. If camera
is inside callback, sp<Client> inside callback will hold the Client instance,
and Client instance is destroyed when the callback ends as sp<Client> to hold
it no longer exists. The destructor of Client instance tries to clean up
camera H/W which tries to stop threads created by camera HAL including the
thread context where the callback is running. This causes deadlock where the
callback thread itself is waiting for itself to terminate.
Note that the deadlock will not happen if camera callback is not active. In
that case, closing of binder will force the destruction of Client instance,
and the destruction happens in binder thread.
* Fix: Forces Client descruction in binder thread
- remove sp<Client> from callbacks to prevent destruction in callback context
- add client lock to allow callback to use raw pointer safely. This prevents
the destructor from deleting the instance while callback is using it.
- add status change inside destructor with client lock to safely destroy Client
Bug: 6214383
Change-Id: Ic6d6396d4d95ce9e72a16ec2480ae65c100fe806
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The purpose is to let face unlock always get the camera
successfully. What happened was the camera applications may
have opened the camera in onResume under the lock screen.
This API lets face unlock take the camera from the camera
application. A new permission will be added, so other
applicatoins won't be able to take the camera from the face
unlock.
bug:5584464
Change-Id: Ib3d9dcbc2161815b68db42327dc01148453704c6
|
|
|
|
| |
Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
|
|
|
|
|
|
|
| |
See https://android-git.corp.google.com/g/#/c/157220
Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
|
|\
| |
| |
| |
| |
| |
| | |
system enforced audio stream." into ics-mr1
* commit '4bc873e6ff73200af866f8c9efca66ad8ed23682':
Switch camera sounds to always use the system enforced audio stream.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of picking between the music stream and the enforced audio
stream, change the camera service to always play sounds through
enforced system stream. Also update the currently-hidden CameraSound
API to match.
Bug: 5778365
Change-Id: I3cc64b1d1ff567dbac8020a665d5b19846197ff3
|
| |
| |
| |
| |
| |
| |
| | |
See https://android-git.corp.google.com/g/157065
Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
|
| |
| |
| |
| |
| |
| |
| | |
See https://android-git.corp.google.com/g/156801
Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
|
| |
| |
| |
| |
| |
| |
| | |
See https://android-git.corp.google.com/g/156016
Bug: 5449033
Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
|