| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Also fixed some logging typo
Change-Id: Ib254bdb137dca10b12595c23aeb1c53097423425
|
|
|
|
|
| |
Bug: 9529161
Change-Id: I927e39c124cd5fb19e38423506f4463acc381cb0
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Done:
* ICameraService
* ICameraServiceListener
Partial:
* ICamera (disconnect only)
* IProCameraUser (disconnect only)
Bug: 9213377
Change-Id: I8e2e6e05cfd02ec36be1d5b2c551f10ffb43b5b4
|
|
|
|
|
|
|
|
| |
- Add call to set a preview callback surface
- Implement support for HAL2/3 devices
- Still need HAL1 implementation
Change-Id: I0dc0bd72e43d871aa487858d1665c1efca633ffe
|
|
|
|
|
|
|
|
|
|
| |
- Stream creation/deletion
- Request submission
- Request thread loop
- Add get() to CameraMetadata to allow HAL submission while retaining
ownership.
Change-Id: I271f72bcbe9557eded43cbcbfe789109857f8144
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
Change-Id: I41a9f358f63a19e7b746a9ccf24722001e5e7475
|
|
|
|
| |
Change-Id: I13d7a9553aa335bca790a3a59d389d7533c83d57
|
|
|
|
| |
Change-Id: I0582268cef6e84b630bc87c8a03dcd69d54c440d
|
|
|
|
|
|
| |
Bug: 8290146
Bug: 8291751
Change-Id: I25423a2b8a70ac7169911b1c7b482aa17190fe0f
|
|
|
|
|
|
|
| |
* Also adds an ICameraServiceListener with available/not available statuses
Bug: 8291653
Change-Id: I24680f1a2dc109510caf451cf7c7bd180b670d84
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
If the CpuConsumer triggered multiple onFrameAvailable callbacks in between
a single waitForFrameBuffer call, the old code would only handle 1 callback.
This meant on two subsequent waitForFrameBuffer calls the second would always
timeout when two buffers were already available to be unlocked.
Bug: 8238112
Change-Id: Ibefca35005ac5c408e5ada97ec4a4344a9e3e497
|
|
|
|
| |
Change-Id: I851d41aeecaa15245d5b9d622132e8706d6e292c
|
|
|
|
| |
Change-Id: I3b87dfbc621d98bf41f37a892a1012baf85b5166
|
|
|
|
| |
Change-Id: I46775402b007244bc383d6343a620eebbd492aad
|
|
|
|
| |
Change-Id: I468172dbfdd78510b273bf9d119c950cbeda7ea3
|
|
|
|
| |
Change-Id: Iec62eead6d179aa5486f7719143340976bb76e7d
|
|
|
|
| |
Change-Id: I1ae7ba9b24f5883c214c19a7ed0eaf0c802d69c1
|
|
|
|
| |
Change-Id: Ic05130e63f4f2c0c3278ba348b192992169f105f
|
|
|
|
| |
Change-Id: I551e5e5e76d9be733fab5224beaa7309268c0f38
|
|
|
|
| |
Change-Id: I2af7a807c99df75ea659e6e6acc9c4fca6a56274
|
|
|
|
| |
Change-Id: I957538663ae8332d26f3640c63a75efc79f4ac5c
|
|
|
|
| |
Change-Id: I081f61417fca7c8408e9e767129647ddce5364ab
|
|
|
|
| |
Change-Id: I940ce86f318f37ae5b73f912a6e589415150125f
|
|
|
|
|
|
|
|
|
|
| |
The C++ class names don't match what the classes do, so rename
ISurfaceTexture to IGraphicBufferProducer, and SurfaceTexture to
GLConsumer.
Bug 7736700
Change-Id: I64520a55f8c09fe6215382ea361c539a9940cba5
|
|
|
|
| |
Change-Id: I78b1f8ca3c1a03222ed363db26d9a09cf0b13528
|
|
|
|
|
| |
Bug: 6243944
Change-Id: I7f496ca1051571c68fdd99a6f85bf6a908a4e29a
|
|
|
|
|
|
|
|
| |
This is only used to support recording with HAL 2 in the
KEY_VIDEO_FRAME_FORMAT parameter, and is not exposed to applications.
Bug: 6243944
Change-Id: I5976a748d199ae98189bd03af5bbd9e18cbd6bf0
|
|
|
|
|
|
|
|
|
|
| |
CameraParameters was moved over to frameworks/native before
frameworks/av was created, since it is referenced by HAL
implementations. Move it to frameworks/av to keep it together with its
implementation.
Bug: 6500863
Change-Id: If1a3b7768bedeb825729c3cdd55e8fcea04b7369
|
|
|
|
|
|
|
|
| |
Applications are not resumed under the lock screen now.
This API is not needed anymore.
bug:5584464
Change-Id: I115daf6b647348617ec0fc05b626878c945b9b29
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
| |
CameraParameters.h is indirectly required to implement the Camera
HAL. Move it to frameworks/native.
Bug: 6171735
Change-Id: I1bf4db228333be16fc7caa3c51280a9495293011
|
|
|
|
| |
Change-Id: Iec71706cdd4f29c6904993648ce873e83ef9cafe
|
|
|
|
|
|
|
|
|
|
| |
Suppose applications call autoFocus in CAF picture mode. If
CAF is in the middle of scanning, the picture is very likely to
be blurry. Change focus callback to return when the scanning
finishes.
bug:5514415
Change-Id: Ibcb8f92a5263d7dbd7cce54df3617fb21c6255d4
|
|
|
|
|
| |
bug:5169599
Change-Id: Ic2205770753ff462135f884fee0a888ca8ec832d
|
|
|
|
|
|
|
|
|
| |
Hardware video stabilization reduces camera shake in preview
and in recorded videos. It has no effect on still image capture.
Convenience accessor methods hidden for now.
Change-Id: Ie18450bff662b2ef98b85d19719beefc180975fc
|
|
|
|
|
|
|
|
|
| |
- Autofocus does not lock AE and AWB.
- stopPreview and takePicture do not clear AE and AWB locks.
bug:5356404
Change-Id: I55d9b35f4ff746ecd2bff112c2674f1aa2543aca
|
|
|
|
|
|
|
|
| |
The API is still hidden.
bug:5187868
Change-Id: I59e1b5774ca32be049723d1a0887faa90d8884bb
|
|
|
|
|
|
|
| |
The API is still hidden.
bug:5086125
Change-Id: I69268a95ad6aae249771d3a8dfb423ffe2d87081
|
|
|
|
|
|
|
|
| |
The API are hidden.
bug:5086073
Change-Id: Ic9a53e5d5007ad3f12a28406ee25098227f14cbc
|
|
|
|
|
| |
bug:4460717
Change-Id: I2fae6e1dfca6b8f3a5ee5716fc7817f5417bf657
|
|
|
|
|
|
|
| |
The API is still hidden.
bug:4266229
Change-Id: I5e4c24e9e2808582aecb55ac4f1d5be3ed7e36a2
|
|
|
|
|
|
|
| |
API are still hidden.
bug:4460717
Change-Id: I1a515061f141a89bd61c875257712789fb15d2d4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The purpose of ICameraRecordingProxy and ICameraRecordingProxyListener is to
allow applications using the camera during recording.
Camera service allows only one client at a time. Since camcorder application
needs to own the camera to do things like zoom, the media recorder cannot
access the camera directly during recording. So ICameraRecordingProxy is a proxy
of ICamera, which allows the media recorder to start/stop the recording and
release recording frames. ICameraRecordingProxyListener is an interface that
allows the recorder to receive video frames during recording.
ICameraRecordingProxy
startRecording()
stopRecording()
releaseRecordingFrame()
ICameraRecordingProxyListener
dataCallbackTimestamp()
The camcorder app opens the camera and starts the preview. The app passes
ICamera and ICameraRecordingProxy to the media recorder by
MediaRecorder::setCamera(). The recorder uses ICamera to setup the camera in
MediaRecorder::start(). After setup, the recorder disconnects from camera
service. The recorder calls ICameraRecordingProxy::startRecording() and
passes a ICameraRecordingProxyListener to the app. The app connects back to
camera service and starts the recording. The app owns the camera and can do
things like zoom. The media recorder receives the video frames from the
listener and releases them by ICameraRecordingProxy::releaseRecordingFrame.
The recorder calls ICameraRecordingProxy::stopRecording() to stop the
recording.
The call sequences are as follows:
1. The app: Camera.unlock().
2. The app: MediaRecorder.setCamera().
3. Start recording
(1) The app: MediaRecorder.start().
(2) The recorder: ICamera.unlock() and ICamera.disconnect().
(3) The recorder: ICameraRecordingProxy.startRecording().
(4) The app: ICamera.reconnect().
(5) The app: ICamera.startRecording().
4. During recording
(1) The recorder: receive frames from ICameraRecordingProxyListener.dataCallbackTimestamp()
(2) The recorder: release frames by ICameraRecordingProxy.releaseRecordingFrame().
5. Stop recording
(1) The app: MediaRecorder.stop()
(2) The recorder: ICameraRecordingProxy.stopRecording().
(3) The app: ICamera.stopRecording().
bug:2644213
Change-Id: I15269397defc25cbbcae16abc071c8349c123122
|