| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: I9bc5573ee07e30b305b5b879023aa9ec69e10b91
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|/
|
|
|
| |
bug:5534973
Change-Id: Iaadcb2738ad040f94849be30ee531326f6199431
|
|
|
|
| |
Change-Id: I0c7adf452217b8308243836b40b1fba8f2029240
|
|
|
|
| |
Change-Id: I80dd37da277b1810959a2dbdd852078b26f70cf5
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add intialize() method to CameraHardwareInterface so we can
return a proper error value to CameraService if open of camera
hardware module fails.
b/5405235
Change-Id: I09c627034ddd22a5753c5163392c4fcff301e0b9
Signed-off-by: Tyler Luu <tluu@ti.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I7080d5f50a87f92c8e9395d4cf8f927a6760fa70
|
|/
|
|
|
|
| |
bug:5422679
Change-Id: I4c936ab00428fc158b5947fe8f10b1028869bbdb
|
|
|
|
|
|
|
|
| |
The API is still hidden.
bug:5187868
Change-Id: I59e1b5774ca32be049723d1a0887faa90d8884bb
|
|
|
|
|
| |
bug:4460717
Change-Id: I2fae6e1dfca6b8f3a5ee5716fc7817f5417bf657
|
|
|
|
|
|
|
|
|
|
|
| |
the original connect/disconnect hooks are deprecated
and replace by api_connect/api_disconnect. the original
hooks are no no-ops.
api_connect/api_disconnect is now only called from the
android framework.
Bug: 5057915
Change-Id: I8ca64cd1acd6cabf915bf54689ec2e5f6dfa495a
|
|
|
|
|
| |
bug:4460717
Change-Id: Ib47d7d7df20af8155a719f3dabefe030893bfebc
|
|\ |
|
| |
| |
| |
| |
| | |
bug:5048372
Change-Id: I6886907a672ddf5580b988ca5bc13e3dc26d4385
|
|/
|
|
|
|
|
| |
SF now obeys SurfaceTexture's scaling mode instead
of inferring it from the buffer's size
Change-Id: I4d50e9851abedd7e64bfcfc8af9eefb9fb668529
|
|
|
|
|
|
|
| |
This change makes CameraService connect and disconnect from preview
windows (Surfaces and SurfaceTextures) that get set.
Change-Id: I726971688367d5ce0d9aa90c44168037bce33deb
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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:4185309
Change-Id: I8be89d892b8f540fd05913c93f97b92346a0a282
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: Ibc637918637329e4f2b62f4ac7781102fbc269f5
Signed-off-by: Dima Zavin <dima@android.com>
|
|
|
|
| |
Change-Id: I2201f1ca2bb8f203a081d94a0134f798778dfbef
|
|
|
|
|
|
|
|
|
| |
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 - 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
|
|
|
|
|
|
|
|
| |
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 - 3259009
Change-Id: Ib7634f10a7fe7b7ce7014b79b07957d194bae1a7
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 065299b58d1c00cd24e442fa192561decf7b1fec.
The work around for issue 3187563 is not needed any more since the new kernel
DMA driver implementation (commit 7953250be7c9a1c3417e21b20032b571d495d218)
fixes the root cause.
Change-Id: Ibaac2826b63c8e5825ae2e5cab2fb2f0e51ab7b4
|
|
|
|
|
|
|
|
|
|
| |
The audio HAL does not always handle properly simultaneous input and output stream
state changes. This happens in particular when starting video record because output
stream starts and stops while input is active.
Temporary disable the video record jingle the time the audio HAL issues are solved.
Change-Id: I3b923d81af543a335deae9e22d7f396bb5791d91
|
|
|
|
|
| |
bug:3095272
Change-Id: Ib1c1d1edc06a33e9d4d2dcb42bc1dd2c25b1310c
|
|
|
|
|
|
| |
bug - 3042125
Change-Id: I46eb7a10b5394086b353fd73e4503beceeed76f1
|
|
|
|
|
| |
bug:3036262
Change-Id: I6fc3dc381fcfaceba09fd5bd14afb85045b3d676
|
|\
| |
| |
| | |
Change-Id: I6f4940e337a992bf84e50bc1d22432593937499c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously the orientation was wrong after suspend and resume.
When the camera app is resumed behide the lock screen, it
orinteation is portrait. When users slide to unlock the screen,
surfaceChanged is called and the orientation is landscape.
The camera app stops the preview, sets the display orientation,
and starts the preview. Overlay should be destroyed if the
orientation has changed.
bug:3031640
Change-Id: I38b527f9ea78c91b538463292152c023383b4695
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now camera driver uses ANativeWindow for display.
CameraService should not request preview callback from
camera hardware if applications have not requested it.
bug:2951018
Change-Id: I85f74ea4a61104feca018867bc9d6dfe3a9479f5
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
mSurface is released in destructor and setPreviewWindow(0) is
called in Client::disconnect(). setPreviewDisplay is not needed
in destructor.
bug:2964479
Change-Id: I329901659a2af407816c34e02f37143b28183a89
|
|/
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: If064f2f4950fc1a4ff38e6927fe2120af76b26f1
|