| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
- 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
|
|\ |
|
| |
| |
| |
| |
| | |
bug:4553469
Change-Id: Iae88af354fee4925cb7978572c27f6dd5595ca59
|
|/
|
|
|
| |
Change-Id: I2780e936f5b4628d506ac4e6947b78ef831fbde8
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Adds a new camera parameter for locking auto-white balance to its
current value. Also adds a function for checking if auto-white balance
lock is supported by the current platform. Lock semantics match that
of the auto-exposure lock.
Hidden for now.
Change-Id: Id59339a4be84d55c1b0b8473d765b6aa765999b2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch changes CameraService to load a camera HAL module, instead of
linking directly against a library that implements the CameraHardwareInterface
class.
CameraHardwareInterface no longer defines the API to the camera HAL. Instead,
this is now in HAL header hardware/camera.h. We keep CamerHardwareInterface as
a class local to CameraService, which wraps around the new HAL calls. In the
future, we may remove this class entirely and have CameraService call the HAL
methods directly.
Change-Id: I5c61ac40078fc0b50bbac5881a556fe6c8837641
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
We define struct CameraInfo in this camera/Camera.h, even though an identical
struct camera_info is defined in hardware/camera.h (but not in
hardware/camera_defs.h). We may not export struct definitions from the HAL
into headers which may find their way into the NDK.
This commit also renames FRAME_CALLBACK_FLAG_xxx to CAMERA_FRAME_CALLBACK_xxx.
Change-Id: I3e2ddd01d61bf5371ff2fc1a397995e0f1ee11f8
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
|
|
|
|
|
|
|
|
|
| |
Adds a new camera parameter for locking auto-exposure to its current
value. Also adds a function for checking if auto-exposure lock is
supported by the current platform.
Hidden for now.
Change-Id: Id452371191ab220318ce2cb98b8ee91bdde9aab6
|
|
|
|
|
|
|
|
|
| |
Weigh values must be less than 1000, but have no restriction on their
sum. Weights should be interpreted as per-pixel values, meaning larger
areas will have more influence over focus/metering than smaller areas
of the same weight.
Change-Id: I988b74f988ddba2ff0c49d078ff3174b47cbae18
|
|
|
|
|
|
|
| |
The API are still hidden.
bug:3475893
Change-Id: Id4147528def5e0fe067e1a3ed315fa34c14a0640
|
|
|
|
|
|
|
|
| |
The API are still hidden.
bug:3475893
Change-Id: I92405c9e332b7fb141788cda7ebc9705dd666c67
|
|
|
|
|
|
|
|
|
| |
Methods getNumberOfVideoBuffers() and getVideoBuffer() as well as struct
image_rect_struct are no longer used (instead, the necessary information is
passed through ANativeWindow.)
Change-Id: If4b11446fc9ccbde1f6b45bc70c0d0b8e54376eb
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
|\ |
|
| |
| |
| |
| |
| | |
bug:3463624
Change-Id: I8f2992dadfd3fb9e3c9d67743e52da7f3212827e
|
|/
|
|
|
|
| |
bug - 3292153
Change-Id: I9789f7c5cde3a3889d7375e881181e9152d95fc2
|
|
|
|
|
|
|
| |
This change enables the use of a SurfaceTexture in place of a Surface as
the destination of camera preview frames.
Change-Id: Ic70d404c8fe261e9d5da6f1de93d6babb5b191cb
|
|
|
|
| |
Change-Id: Id9f8432e2ba8e1474ee020438d6456f1f450398a
|
|
|
|
|
|
|
|
| |
any outstanding video frames and ignore
releaseRecordingFrame() call after it receives disableMsgType(CAMERA_MSG_VIDEO_FRAME).
Change-Id: I2ecb9b3b11dab6bf868ccf8effda1b8df5bcde3c
|
|
|
|
|
|
|
| |
the same functionality is now supported through
the h/w composer HAL, and YUV support in the GPU.
Change-Id: I8146605449954b8e8fd7f78810b7d873c2d8f5bf
|
|
|
|
|
|
| |
bug - 3237021
Change-Id: Ica8a3ae5cfbee462b74de98770e33277186c9a2b
|
|\
| |
| |
| |
| | |
* commit 'fb6f4505ba5c227cebb73f1269b0af5d92e6e5e6':
Improve camera documentation.
|
| |
| |
| |
| |
| | |
bug:3212606
Change-Id: Iee7106e4665c08a4c75471114010b75d63ac74ce
|
| |
| |
| |
| |
| |
| |
| |
| | |
Now overlay does ROT_90 before FLIP_V or FLIP_H. It should be FLIP_V
or FLIP_H first. The formula should be changed after overlay is fixed.
bug:3059865
Change-Id: Ie4366bf7f1fcac7383e8dfc74b1b865997bbbcc6
|
| |
| |
| |
| |
| | |
bug:3095272
Change-Id: Ib1c1d1edc06a33e9d4d2dcb42bc1dd2c25b1310c
|
| |
| |
| |
| |
| |
| | |
bug - 3042125
Change-Id: I46eb7a10b5394086b353fd73e4503beceeed76f1
|
| |
| |
| |
| |
| |
| |
| |
| | |
o document the camera hal to clarify the reviewer's questions.
bug - 3042125
Change-Id: I3edf701d084933ee8d1e3b054d222e8c9dfc42a5
|
| |
| |
| |
| |
| |
| | |
Part II: proposed camera hal change
Change-Id: I51663cf5de2b00f71e4ff1828080094676065444
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is the first part of the camera hal change required for
0-memcpy of input video frames for video recording.
o removed check in setVideoSize()/getVideoSize() for impl consistency
Change-Id: I01274a62b9f9eaf32154d98f8d0bfedacf645698
|
| |
| |
| |
| | |
Change-Id: Ied7eb7872e581e23d9f6f02a551320cdd675e51e
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
FOCUS_MODE_CONTINUOUS_VIDEO.
Merge commit '2ad1ebcaabb632c8fe714f0c3fd88bdfa14697bd'
* commit '2ad1ebcaabb632c8fe714f0c3fd88bdfa14697bd':
Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This constant is not public yet. Continuous autofocus should
behave differently in still camera and camcorder. In camcorder,
lens movement may be more smooth. And the triggers to start a
new focus search may be different. If there is a need,
FOCUS_MODE_CONTINUOUS_PHOTO can be added in the future.
Change-Id: I05df9e491aca37829be3df92a73b952f26c86a4a
|
| |
| |
| |
| | |
Change-Id: I5c8266348d0840361c8095ce351ac85c44d4068f
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added CAMERA_CMD_PLAY_RECORDING_SOUND command type to play recording
sound through sendCommand. This is currently needed by time lapse
recording using still mode capture, which disables the shutter sound
but needs to play the recording sound.
Change-Id: I376aa40f45b6064fd862abc065456b06fc338020
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Added enum CAMERA_CMD_ENABLE_SHUTTER_SOUND which corresponds to
command type for enabling/disabling shutter sound.
- The implementation checks if it is legal to disable shutter sound.
If it is, then any process can disable the sound. If not, then only
the mediaserver process is allowed to do this. Currently time lapse
capture needs this functionality to disable shutter sound when still
mode is used to capture time lapse video.
Change-Id: Id147a3bcc6a345c2c6a6d52bf98fd8292386bb19
|
|\ \
| |/
| |
| |
| |
| |
| | |
Merge commit '6e46e6f7488ad1f4e6ab762d141790798fe3f2d5'
* commit '6e46e6f7488ad1f4e6ab762d141790798fe3f2d5':
Remove camera metering mode API.
|
| |
| |
| |
| |
| |
| | |
Metering mode is not supported yet.
Change-Id: Id6906d6ab0cd1a9dcbc5c303d8d5081b2cda699e
|
|\ \
| |/
| |
| |
| |
| |
| | |
Merge commit '346b6126d54bda4ddc705b27f49004b5cf3a2b3e'
* commit '346b6126d54bda4ddc705b27f49004b5cf3a2b3e':
Add camera fps range API.
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Original preview frame rate API assumes the frame rate
is fixed. It does not not work with auto frame rate camera.
Change-Id: I38f7122ac8ec844ffd63558dc0763ffa17b0926a
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change makes the camera HAL interface take an ANativeWindow interface from
which all the camera preview buffers will be allocated. The framework code
running in application processes now passes a Surface object rather than an
ISurface to the camera server via Binder when setting the preview surface. The
camera server then forwards that Surface object (which implements the
ANativeWindow interface) to the camera HAL, which uses it to communicate with
SurfaceFlinger to allocate the camera preview buffers.
Change-Id: Ie438f721559cd7de5e4f848a26d96360dda07b5f
|
|/
|
|
|
|
| |
Check if camera hardware is NULL to avoid mediaserver crash.
Change-Id: Ibde0251f30bdb6b36a5d5380222d7be25ec9449c
|
|
|
|
|
|
|
|
| |
Moved functionality to parse string of sizes from getSupportedPictureSizes
to parseSizesList.
Added getSupportedPreviewSizes which returns a list of supported preview sizes.
Change-Id: I41d4f62f9f1641e9e9258aa2ebaeda13ba846c02
|
|
|
|
|
|
|
|
| |
Also added a struct 'Size' containing a width and a height field.
Modified parse_size to optionally set an end pointer pointing to the
character after the found size.
Change-Id: I0c95ebf1ad4684721b32165f363db7d4d15a1b19
|