diff options
author | Ruben Brunk <rubenbrunk@google.com> | 2015-08-13 17:58:46 -0700 |
---|---|---|
committer | Ruben Brunk <rubenbrunk@google.com> | 2015-08-14 17:30:24 -0700 |
commit | c78ac26e3a65328fc0118f16ee76a800d0687eb7 (patch) | |
tree | 9009e37c981c7cbfdd106c44de2622edf1672a49 /services/camera/libcameraservice/device3/Camera3Device.cpp | |
parent | a09f8cf8c76fa946c4b91be059b420941abcdc3b (diff) | |
download | frameworks_av-c78ac26e3a65328fc0118f16ee76a800d0687eb7.zip frameworks_av-c78ac26e3a65328fc0118f16ee76a800d0687eb7.tar.gz frameworks_av-c78ac26e3a65328fc0118f16ee76a800d0687eb7.tar.bz2 |
Add experimental camera session prepare API.
Bug: 18949148
Change-Id: I8f73e68ea2e3acc60d98954106f364d13f439a82
Diffstat (limited to 'services/camera/libcameraservice/device3/Camera3Device.cpp')
-rw-r--r-- | services/camera/libcameraservice/device3/Camera3Device.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp index 0a4440f..cf47bc8 100644 --- a/services/camera/libcameraservice/device3/Camera3Device.cpp +++ b/services/camera/libcameraservice/device3/Camera3Device.cpp @@ -1380,6 +1380,10 @@ status_t Camera3Device::flush(int64_t *frameNumber) { } status_t Camera3Device::prepare(int streamId) { + return prepare(camera3::Camera3StreamInterface::ALLOCATE_PIPELINE_MAX, streamId); +} + +status_t Camera3Device::prepare(int maxCount, int streamId) { ATRACE_CALL(); ALOGV("%s: Camera %d: Preparing stream %d", __FUNCTION__, mId, streamId); Mutex::Autolock il(mInterfaceLock); @@ -1404,7 +1408,7 @@ status_t Camera3Device::prepare(int streamId) { return BAD_VALUE; } - return mPreparerThread->prepare(stream); + return mPreparerThread->prepare(maxCount, stream); } status_t Camera3Device::tearDown(int streamId) { @@ -3455,12 +3459,12 @@ Camera3Device::PreparerThread::~PreparerThread() { clear(); } -status_t Camera3Device::PreparerThread::prepare(sp<Camera3StreamInterface>& stream) { +status_t Camera3Device::PreparerThread::prepare(int maxCount, sp<Camera3StreamInterface>& stream) { status_t res; Mutex::Autolock l(mLock); - res = stream->startPrepare(); + res = stream->startPrepare(maxCount); if (res == OK) { // No preparation needed, fire listener right off ALOGV("%s: Stream %d already prepared", __FUNCTION__, stream->getId()); |