History log of /frameworks/av/services/camera/libcameraservice/CameraService.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
294d0eca9eabfaa3ef0ee8bee7ccf3eaaa925e41 05-Oct-2012 Igor Murashkin <iam@google.com> Camera2: Don't promote weak IBinder ptrs to strong ones

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
ecf17e82505fdb60d59e00b6dd59036df93de655 03-Oct-2012 Igor Murashkin <iam@google.com> Camera2: Handle client processes dying by closing camera resources

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
f69c70ded4316ea3ee504ac779bd024433ed4ef7 21-May-2012 Eino-Ville Talvala <etalvala@google.com> Camera service: Initialization for camera2 clients and devices

- 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

Bug: 6243944
Change-Id: I524145b45438e906d8493dae202704ce8f090aeb
61ab9f93315ea817cd1ac110e2a95da4dab6b4d1 17-May-2012 Eino-Ville Talvala <etalvala@google.com> Camera service: Add skeleton support for camera2 devices.

- 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
5e08d60617fc63c2e41f9069ff89f5c00db2617d 16-May-2012 Eino-Ville Talvala <etalvala@google.com> Break out CameraClient from CameraService.

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
08ad5efcef90e24db2863c0f85972ed05fe848a2 18-Apr-2012 Wu-cheng Li <wuchengli@google.com> Remove new camera connect API.

Applications are not resumed under the lock screen now.
This API is not needed anymore.

Change-Id: I115daf6b647348617ec0fc05b626878c945b9b29
d8973a71a3d1dd670e5dcdf6e94ec0cd45444eec 28-Mar-2012 Keun young Park <keunyoung@google.com> Fix deadlock in camera destruction after client app's crash

* 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
2fd2440d0175ca3e196b01b7541a9e0d4ed9a694 24-Feb-2012 Wu-cheng Li <wuchengli@google.com> Add a new camera open API that allows taking the ownership.

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


Change-Id: Ib3d9dcbc2161815b68db42327dc01148453704c6
60a78ac9535878984b0777788760b9ee7465c5e6 06-Jan-2012 Eino-Ville Talvala <etalvala@google.com> 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
ff4f55c8d77e276dbcceedb4e560ca1d91ba38ba 17-Oct-2011 Chih-Chung Chang <chihchung@google.com> Fix 5468644: Use the proper audio stream type to play sound.

Change-Id: I80dd37da277b1810959a2dbdd852078b26f70cf5
57c86189bc07d9ccb0fd044e66df736d0bf19639 29-Jul-2011 Wu-cheng Li <wuchengli@google.com> Pass camera frame metadata from camera service to Java.

Change-Id: I2fae6e1dfca6b8f3a5ee5716fc7817f5417bf657
ff09ef8f18eed29bce50c7817df2fd52d2b50cf6 27-Jul-2011 Wu-cheng Li <wuchengli@google.com> Add frame metadata parameter to camera data_callback.

Change-Id: Ib47d7d7df20af8155a719f3dabefe030893bfebc
0ed3ec00d0242c9dc77532fe0cf0082645b6662c 14-Jul-2011 Jamie Gennis <jgennis@google.com> CameraService: (dis)connect from preview windows

This change makes CameraService connect and disconnect from preview
windows (Surfaces and SurfaceTextures) that get set.

Change-Id: I726971688367d5ce0d9aa90c44168037bce33deb
8951a97b1f8462c37e740ea5082eea0445d2c501 15-Apr-2011 Iliyan Malchev <malchev@google.com> frameworks/base: switch CameraService to a HAL module

This patch changes CameraService to load a camera HAL module, instead of
linking directly against a library that implements the CameraHardwareInterface

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>
8b1027d3f873fc15c70f8645f1856936b69241a4 06-Apr-2011 Mathias Agopian <mathias@google.com> remove more unused references to ISurface

Change-Id: I2201f1ca2bb8f203a081d94a0134f798778dfbef
108dddf924d714c811dd565b8f4c7a0178cca2f2 29-Mar-2011 Iliyan Malchev <malchev@google.com> frameworks/base: some camera-interface cleanup

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>
e468ac57f6e8afc6078c76d4eb1ac327112a3de0 18-Feb-2011 James Dong <jdong@google.com> Application-managed callback buffer support for raw image

bug - 3292153

Change-Id: I9789f7c5cde3a3889d7375e881181e9152d95fc2
bfa33aae4f54c0020a0568b16a3acb7b30b6ca3d 20-Dec-2010 Jamie Gennis <jgennis@google.com> Add camera service support for SurfaceTexture.

This change enables the use of a SurfaceTexture in place of a Surface as
the destination of camera preview frames.

Change-Id: Ic70d404c8fe261e9d5da6f1de93d6babb5b191cb
03dfce9672b36c1a334959a602f909b8410bec50 08-Dec-2010 Mathias Agopian <mathias@google.com> remove support for PUSH_BUFFER surfaces and overlays

the same functionality is now supported through
the h/w composer HAL, and YUV support in the GPU.

Change-Id: I8146605449954b8e8fd7f78810b7d873c2d8f5bf
e09591eff55fdff1868b32c3e046c62f800330fc 14-Oct-2010 Wu-cheng Li <wuchengli@google.com> Mirror the camera preview if the camera is front-facing.

Change-Id: Ib1c1d1edc06a33e9d4d2dcb42bc1dd2c25b1310c
e2ad6734eccc4b9ea7857c747ff9469a9c11ba09 19-Oct-2010 James Dong <jdong@google.com> Camera framework change required for 0-memcpy recording

bug - 3042125

Change-Id: I46eb7a10b5394086b353fd73e4503beceeed76f1
012716a857641a977afd16ff6be4bf66fc403884 08-Oct-2010 Wu-cheng Li <wuchengli@google.com> Fix camera display orientation.

Change-Id: I6fc3dc381fcfaceba09fd5bd14afb85045b3d676
b36f2df1daf7e733be7c51f93792f8fc4252544c 28-Sep-2010 Wu-cheng Li <wuchengli@google.com> resolved conflicts for merge of 191a25e1 to master

Change-Id: I6f4940e337a992bf84e50bc1d22432593937499c
4a73f3da3501db6e95473a4a653d6319c6d618e2 24-Sep-2010 Wu-cheng Li <wuchengli@google.com> The old overlay should be destroyed if orientation changes.

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.

Change-Id: I38b527f9ea78c91b538463292152c023383b4695
b5ca4618a722a21f084fe8bfc1c2992749ccd3f0 12-Sep-2010 Nipun Kwatra <nkwatra@google.com> Adding enable/disable option for sendCommand()

- 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
4b79168835965cf0fc41ebe2a367e22b4cb20d08 11-Aug-2010 Jamie Gennis <jgennis@google.com> Change the framework to use the new camera preview path.

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
b7a67942823e8339eb298238f117aaa6d7b63111 18-Aug-2010 Wu-cheng Li <wuchengli@google.com> Handle the camera open failure better.

Check if camera hardware is NULL to avoid mediaserver crash.

Change-Id: Ibde0251f30bdb6b36a5d5380222d7be25ec9449c
9da2070b6d6d20550de7da61478c325f0928d020 30-Jul-2010 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of 27eecb70 to gingerbread

Change-Id: If064f2f4950fc1a4ff38e6927fe2120af76b26f1
5462fc9a38fa8c9dff434cd53fa5fb1782ae3042 15-Jul-2010 Mathias Agopian <mathias@google.com> added BinderService<> template to help creating native binder services

Change-Id: Id980899d2647b56479f8a27c89eaa949f9209dfe
65ab47156e1c7dfcd8cc4266253a5ff30219e7f0 15-Jul-2010 Mathias Agopian <mathias@google.com> move native services under services/

moved surfaceflinger, audioflinger, cameraservice

all native services should now reside in this location.

Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8