diff options
| author | Chien-Yu Chen <cychen@google.com> | 2015-05-07 20:24:48 +0000 | 
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-05-07 20:24:49 +0000 | 
| commit | 5da9f8450c8d91ec91b79a74542f997a4bbb2f27 (patch) | |
| tree | 7402598de498ba1dfd93c0ebcfef7ca45f6a35a3 /services/camera | |
| parent | d975e98aac096b8b0ed600f39c18630ba234ef7d (diff) | |
| parent | ed0412ed78321bf9d35537626e33115862f7c805 (diff) | |
| download | frameworks_av-5da9f8450c8d91ec91b79a74542f997a4bbb2f27.zip frameworks_av-5da9f8450c8d91ec91b79a74542f997a4bbb2f27.tar.gz frameworks_av-5da9f8450c8d91ec91b79a74542f997a4bbb2f27.tar.bz2  | |
Merge "Camera2: allow mixing regular/reprocess requests" into mnc-dev
Diffstat (limited to 'services/camera')
| -rw-r--r-- | services/camera/libcameraservice/api2/CameraDeviceClient.cpp | 18 | ||||
| -rw-r--r-- | services/camera/libcameraservice/device3/Camera3InputStream.cpp | 2 | 
2 files changed, 9 insertions, 11 deletions
diff --git a/services/camera/libcameraservice/api2/CameraDeviceClient.cpp b/services/camera/libcameraservice/api2/CameraDeviceClient.cpp index bf1692d..9c4f9cd 100644 --- a/services/camera/libcameraservice/api2/CameraDeviceClient.cpp +++ b/services/camera/libcameraservice/api2/CameraDeviceClient.cpp @@ -128,7 +128,6 @@ status_t CameraDeviceClient::submitRequestList(List<sp<CaptureRequest> > request      List<const CameraMetadata> metadataRequestList;      int32_t requestId = mRequestIdCounter;      uint32_t loopCounter = 0; -    bool isReprocess = false;      for (List<sp<CaptureRequest> >::iterator it = requests.begin(); it != requests.end(); ++it) {          sp<CaptureRequest> request = *it; @@ -136,18 +135,15 @@ status_t CameraDeviceClient::submitRequestList(List<sp<CaptureRequest> > request              ALOGE("%s: Camera %d: Sent null request.",                      __FUNCTION__, mCameraId);              return BAD_VALUE; -        } else if (it == requests.begin()) { -            isReprocess = request->mIsReprocess; -            if (isReprocess && !mInputStream.configured) { -                ALOGE("%s: Camera %d: no input stream is configured."); +        } else if (request->mIsReprocess) { +            if (!mInputStream.configured) { +                ALOGE("%s: Camera %d: no input stream is configured.", __FUNCTION__, mCameraId);                  return BAD_VALUE; -            } else if (isReprocess && streaming) { -                ALOGE("%s: Camera %d: streaming reprocess requests not supported."); +            } else if (streaming) { +                ALOGE("%s: Camera %d: streaming reprocess requests not supported.", __FUNCTION__, +                        mCameraId);                  return BAD_VALUE;              } -        } else if (isReprocess != request->mIsReprocess) { -            ALOGE("%s: Camera %d: Sent regular and reprocess requests."); -            return BAD_VALUE;          }          CameraMetadata metadata(request->mMetadata); @@ -196,7 +192,7 @@ status_t CameraDeviceClient::submitRequestList(List<sp<CaptureRequest> > request          metadata.update(ANDROID_REQUEST_OUTPUT_STREAMS, &outputStreamIds[0],                          outputStreamIds.size()); -        if (isReprocess) { +        if (request->mIsReprocess) {              metadata.update(ANDROID_REQUEST_INPUT_STREAMS, &mInputStream.id, 1);          } diff --git a/services/camera/libcameraservice/device3/Camera3InputStream.cpp b/services/camera/libcameraservice/device3/Camera3InputStream.cpp index 84c5754..2504bfd 100644 --- a/services/camera/libcameraservice/device3/Camera3InputStream.cpp +++ b/services/camera/libcameraservice/device3/Camera3InputStream.cpp @@ -187,6 +187,8 @@ status_t Camera3InputStream::disconnectLocked() {      assert(mBuffersInFlight.size() == 0); +    mConsumer->abandon(); +      /**       *  no-op since we can't disconnect the producer from the consumer-side       */  | 
