diff options
author | Eino-Ville Talvala <etalvala@google.com> | 2015-05-13 14:28:38 -0700 |
---|---|---|
committer | Eino-Ville Talvala <etalvala@google.com> | 2015-05-13 14:28:38 -0700 |
commit | 261394e3edbe10f4f145f543187dcfbabf702c11 (patch) | |
tree | 218628b189893b3f8021f53466ff2976cb8b801f /services/camera | |
parent | 804a77d1045c6c4023f73a0975a09025b2e8eef2 (diff) | |
download | frameworks_av-261394e3edbe10f4f145f543187dcfbabf702c11.zip frameworks_av-261394e3edbe10f4f145f543187dcfbabf702c11.tar.gz frameworks_av-261394e3edbe10f4f145f543187dcfbabf702c11.tar.bz2 |
Camera: Cleanup to prepare() implementation
- Mutexes _might_ be a good idea
- Don't be surprised by behavior that's expected
- Use the existing logging macros
Bug: 20537148
Change-Id: Ie62985a786d7e6645b4e4fe019dd98b02891a1f7
Diffstat (limited to 'services/camera')
-rw-r--r-- | services/camera/libcameraservice/api2/CameraDeviceClient.cpp | 9 | ||||
-rw-r--r-- | services/camera/libcameraservice/device3/Camera3Device.cpp | 8 |
2 files changed, 6 insertions, 11 deletions
diff --git a/services/camera/libcameraservice/api2/CameraDeviceClient.cpp b/services/camera/libcameraservice/api2/CameraDeviceClient.cpp index 9c4f9cd..b6f6677 100644 --- a/services/camera/libcameraservice/api2/CameraDeviceClient.cpp +++ b/services/camera/libcameraservice/api2/CameraDeviceClient.cpp @@ -691,15 +691,10 @@ status_t CameraDeviceClient::prepare(int streamId) { return BAD_VALUE; } - // Also returns BAD_VALUE if stream ID was not valid + // Also returns BAD_VALUE if stream ID was not valid, or stream already + // has been used res = mDevice->prepare(streamId); - if (res == BAD_VALUE) { - ALOGE("%s: Camera %d: Unexpected BAD_VALUE when preparing stream, but we" - " already checked and the stream ID (%d) should be valid.", - __FUNCTION__, mCameraId, streamId); - } - return res; } diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp index d2c2482..445c9c2 100644 --- a/services/camera/libcameraservice/device3/Camera3Device.cpp +++ b/services/camera/libcameraservice/device3/Camera3Device.cpp @@ -1342,6 +1342,8 @@ status_t Camera3Device::flush(int64_t *frameNumber) { status_t Camera3Device::prepare(int streamId) { ATRACE_CALL(); ALOGV("%s: Camera %d: Preparing stream %d", __FUNCTION__, mId, streamId); + Mutex::Autolock il(mInterfaceLock); + Mutex::Autolock l(mLock); sp<Camera3StreamInterface> stream; ssize_t outputStreamIdx = mOutputStreams.indexOfKey(streamId); @@ -1353,14 +1355,12 @@ status_t Camera3Device::prepare(int streamId) { stream = mOutputStreams.editValueAt(outputStreamIdx); if (stream->isUnpreparable() || stream->hasOutstandingBuffers() ) { - ALOGE("%s: Camera %d: Stream %d has already been a request target", - __FUNCTION__, mId, streamId); + CLOGE("Stream %d has already been a request target", streamId); return BAD_VALUE; } if (mRequestThread->isStreamPending(stream)) { - ALOGE("%s: Camera %d: Stream %d is already a target in a pending request", - __FUNCTION__, mId, streamId); + CLOGE("Stream %d is already a target in a pending request", streamId); return BAD_VALUE; } |