diff options
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;      }  | 
