CameraBase: Don't return an sp<> by reference am: f86177dd93 am: e1bdaa8fb1 am: 6cb1912505
am: 4f95157295
Change-Id: I25e6c61da37ba8efa681777ea7e11af7caf3f324
diff --git a/camera/CameraBase.cpp b/camera/CameraBase.cpp
index 194e1d3..8a18d2f 100644
--- a/camera/CameraBase.cpp
+++ b/camera/CameraBase.cpp
@@ -87,7 +87,7 @@
// establish binder interface to camera service
template <typename TCam, typename TCamTraits>
-const sp<::android::hardware::ICameraService>& CameraBase<TCam, TCamTraits>::getCameraService()
+const sp<::android::hardware::ICameraService> CameraBase<TCam, TCamTraits>::getCameraService()
{
Mutex::Autolock _l(gLock);
if (gCameraService.get() == 0) {
@@ -125,7 +125,7 @@
ALOGV("%s: connect", __FUNCTION__);
sp<TCam> c = new TCam(cameraId);
sp<TCamCallbacks> cl = c;
- const sp<::android::hardware::ICameraService>& cs = getCameraService();
+ const sp<::android::hardware::ICameraService> cs = getCameraService();
binder::Status ret;
if (cs != nullptr) {
@@ -233,7 +233,7 @@
template <typename TCam, typename TCamTraits>
status_t CameraBase<TCam, TCamTraits>::getCameraInfo(int cameraId,
struct hardware::CameraInfo* cameraInfo) {
- const sp<::android::hardware::ICameraService>& cs = getCameraService();
+ const sp<::android::hardware::ICameraService> cs = getCameraService();
if (cs == 0) return UNKNOWN_ERROR;
binder::Status res = cs->getCameraInfo(cameraId, cameraInfo);
return res.isOk() ? OK : res.serviceSpecificErrorCode();
diff --git a/include/camera/CameraBase.h b/include/camera/CameraBase.h
index 0692a27..41f8621 100644
--- a/include/camera/CameraBase.h
+++ b/include/camera/CameraBase.h
@@ -115,7 +115,7 @@
virtual void binderDied(const wp<IBinder>& who);
// helper function to obtain camera service handle
- static const sp<::android::hardware::ICameraService>& getCameraService();
+ static const sp<::android::hardware::ICameraService> getCameraService();
sp<TCamUser> mCamera;
status_t mStatus;