diff options
author | Eino-Ville Talvala <etalvala@google.com> | 2013-06-11 18:23:26 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2013-06-11 18:23:26 -0700 |
commit | 52b943e8036aa6ebd15131820d196fedb321613d (patch) | |
tree | a97230dad546b2bcd9ed63e6ff2c33e69040f56c /services/camera | |
parent | 31295e781598929a75d5774814a25f5f22b78236 (diff) | |
parent | 44ade05f8d030ae3af8d05359734b18eac433935 (diff) | |
download | frameworks_av-52b943e8036aa6ebd15131820d196fedb321613d.zip frameworks_av-52b943e8036aa6ebd15131820d196fedb321613d.tar.gz frameworks_av-52b943e8036aa6ebd15131820d196fedb321613d.tar.bz2 |
am 44ade05f: am ea26c777: Camera3: Skip no-op stream configurations.
* commit '44ade05f8d030ae3af8d05359734b18eac433935':
Camera3: Skip no-op stream configurations.
Diffstat (limited to 'services/camera')
-rw-r--r-- | services/camera/libcameraservice/Camera3Device.cpp | 9 | ||||
-rw-r--r-- | services/camera/libcameraservice/Camera3Device.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/services/camera/libcameraservice/Camera3Device.cpp b/services/camera/libcameraservice/Camera3Device.cpp index 09d2d54..58d98ef 100644 --- a/services/camera/libcameraservice/Camera3Device.cpp +++ b/services/camera/libcameraservice/Camera3Device.cpp @@ -175,6 +175,7 @@ status_t Camera3Device::initialize(camera_module_t *module) mHal3Device = device; mStatus = STATUS_IDLE; mNextStreamId = 0; + mNeedConfig = true; return OK; } @@ -587,6 +588,7 @@ status_t Camera3Device::createStream(sp<ANativeWindow> consumer, } *id = mNextStreamId++; + mNeedConfig = true; // Continue captures if active at start if (wasActive) { @@ -712,6 +714,7 @@ status_t Camera3Device::deleteStream(int id) { // fall through since we want to still list the stream as deleted. } mDeletedStreams.add(deletedStream); + mNeedConfig = true; return res; } @@ -1014,6 +1017,11 @@ status_t Camera3Device::configureStreamsLocked() { return INVALID_OPERATION; } + if (!mNeedConfig) { + ALOGV("%s: Skipping config, no stream changes", __FUNCTION__); + return OK; + } + // Start configuring the streams camera3_stream_configuration config; @@ -1099,6 +1107,7 @@ status_t Camera3Device::configureStreamsLocked() { // Finish configuring the streams lazily on first reference mStatus = STATUS_ACTIVE; + mNeedConfig = false; return OK; } diff --git a/services/camera/libcameraservice/Camera3Device.h b/services/camera/libcameraservice/Camera3Device.h index 7a8c22a..faa42b9 100644 --- a/services/camera/libcameraservice/Camera3Device.h +++ b/services/camera/libcameraservice/Camera3Device.h @@ -149,6 +149,7 @@ class Camera3Device : StreamSet mOutputStreams; sp<camera3::Camera3Stream> mInputStream; int mNextStreamId; + bool mNeedConfig; // Need to hold on to stream references until configure completes. Vector<sp<camera3::Camera3StreamInterface> > mDeletedStreams; |