diff options
Diffstat (limited to 'camera')
-rw-r--r-- | camera/Camera.cpp | 3 | ||||
-rw-r--r-- | camera/ICameraService.cpp | 21 |
2 files changed, 17 insertions, 7 deletions
diff --git a/camera/Camera.cpp b/camera/Camera.cpp index 3a9fb4c..9bf3134 100644 --- a/camera/Camera.cpp +++ b/camera/Camera.cpp @@ -97,7 +97,8 @@ status_t Camera::connectLegacy(int cameraId, int halVersion, c->mStatus = NO_ERROR; camera = c; } else { - ALOGW("An error occurred while connecting to camera: %d", cameraId); + ALOGW("An error occurred while connecting to camera %d: %d (%s)", + cameraId, status, strerror(-status)); c.clear(); } return status; diff --git a/camera/ICameraService.cpp b/camera/ICameraService.cpp index 0071e70..7bb24ee 100644 --- a/camera/ICameraService.cpp +++ b/camera/ICameraService.cpp @@ -175,10 +175,13 @@ public: data.writeInt32(cameraId); data.writeString16(clientPackageName); data.writeInt32(clientUid); - remote()->transact(BnCameraService::CONNECT, data, &reply); + + status_t status; + status = remote()->transact(BnCameraService::CONNECT, data, &reply); + if (status != OK) return status; if (readExceptionCode(reply)) return -EPROTO; - status_t status = reply.readInt32(); + status = reply.readInt32(); if (reply.readInt32() != 0) { device = interface_cast<ICamera>(reply.readStrongBinder()); } @@ -198,10 +201,13 @@ public: data.writeInt32(halVersion); data.writeString16(clientPackageName); data.writeInt32(clientUid); - remote()->transact(BnCameraService::CONNECT_LEGACY, data, &reply); + + status_t status; + status = remote()->transact(BnCameraService::CONNECT_LEGACY, data, &reply); + if (status != OK) return status; if (readExceptionCode(reply)) return -EPROTO; - status_t status = reply.readInt32(); + status = reply.readInt32(); if (reply.readInt32() != 0) { device = interface_cast<ICamera>(reply.readStrongBinder()); } @@ -237,10 +243,13 @@ public: data.writeInt32(cameraId); data.writeString16(clientPackageName); data.writeInt32(clientUid); - remote()->transact(BnCameraService::CONNECT_DEVICE, data, &reply); + + status_t status; + status = remote()->transact(BnCameraService::CONNECT_DEVICE, data, &reply); + if (status != OK) return status; if (readExceptionCode(reply)) return -EPROTO; - status_t status = reply.readInt32(); + status = reply.readInt32(); if (reply.readInt32() != 0) { device = interface_cast<ICameraDeviceUser>(reply.readStrongBinder()); } |