summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/CameraService.h
diff options
context:
space:
mode:
authorIgor Murashkin <iam@google.com>2012-10-05 10:44:57 -0700
committerIgor Murashkin <iam@google.com>2012-10-05 10:44:57 -0700
commit294d0eca9eabfaa3ef0ee8bee7ccf3eaaa925e41 (patch)
treecd8e5348695702f3ed8d55dfee8a6d8d90c2483d /services/camera/libcameraservice/CameraService.h
parent9942f62d6a5ee0a65da751b681217d3c4243cd89 (diff)
downloadframeworks_av-294d0eca9eabfaa3ef0ee8bee7ccf3eaaa925e41.zip
frameworks_av-294d0eca9eabfaa3ef0ee8bee7ccf3eaaa925e41.tar.gz
frameworks_av-294d0eca9eabfaa3ef0ee8bee7ccf3eaaa925e41.tar.bz2
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
Diffstat (limited to 'services/camera/libcameraservice/CameraService.h')
-rw-r--r--services/camera/libcameraservice/CameraService.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/services/camera/libcameraservice/CameraService.h b/services/camera/libcameraservice/CameraService.h
index f1e7df6..4dab340 100644
--- a/services/camera/libcameraservice/CameraService.h
+++ b/services/camera/libcameraservice/CameraService.h
@@ -55,7 +55,7 @@ public:
virtual Client* getClientByIdUnsafe(int cameraId);
virtual Mutex* getClientLockById(int cameraId);
- virtual sp<Client> getClientByRemote(const sp<ICameraClient>& cameraClient);
+ virtual sp<Client> getClientByRemote(const wp<IBinder>& cameraClient);
virtual status_t dump(int fd, const Vector<String16>& args);
virtual status_t onTransact(uint32_t code, const Parcel& data,
@@ -143,7 +143,7 @@ private:
int mNumberOfCameras;
// needs to be called with mServiceLock held
- sp<Client> findClientUnsafe(const sp<ICameraClient>& cameraClient, int& outIndex);
+ sp<Client> findClientUnsafe(const wp<IBinder>& cameraClient, int& outIndex);
// atomics to record whether the hardware is allocated to some client.
volatile int32_t mBusy[MAX_CAMERAS];