summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/device3/Camera3Device.cpp
diff options
context:
space:
mode:
authorZhijun He <zhijunhe@google.com>2015-06-01 15:44:31 -0700
committerZhijun He <zhijunhe@google.com>2015-06-03 20:22:06 -0700
commit1fa8999c91d5df81949aa723000058380cd3faa2 (patch)
tree3ebf10fd408c34bc35108c24df5ccbd02e2153eb /services/camera/libcameraservice/device3/Camera3Device.cpp
parent4170eeec0a2dc2a9543b7e4674a43b3d2faac61d (diff)
downloadframeworks_av-1fa8999c91d5df81949aa723000058380cd3faa2.zip
frameworks_av-1fa8999c91d5df81949aa723000058380cd3faa2.tar.gz
frameworks_av-1fa8999c91d5df81949aa723000058380cd3faa2.tar.bz2
Camera2: implement high speed video APIs
Bug: 21442271 Change-Id: Ia0ae5bbd3e8c81bad293c29987301a2457817d12
Diffstat (limited to 'services/camera/libcameraservice/device3/Camera3Device.cpp')
-rw-r--r--services/camera/libcameraservice/device3/Camera3Device.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp
index 45d9421..731f74c 100644
--- a/services/camera/libcameraservice/device3/Camera3Device.cpp
+++ b/services/camera/libcameraservice/device3/Camera3Device.cpp
@@ -419,6 +419,8 @@ status_t Camera3Device::dump(int fd, const Vector<String16> &args) {
lines.appendFormat(" Error cause: %s\n", mErrorCause.string());
}
lines.appendFormat(" Stream configuration:\n");
+ lines.appendFormat(" Operation mode: %s \n", mIsConstrainedHighSpeedConfiguration ?
+ "CONSTAINED HIGH SPEED VIDEO" : "NORMAL");
if (mInputStream != NULL) {
write(fd, lines.string(), lines.size());
@@ -1023,12 +1025,13 @@ status_t Camera3Device::deleteReprocessStream(int id) {
return INVALID_OPERATION;
}
-status_t Camera3Device::configureStreams() {
+status_t Camera3Device::configureStreams(bool isConstrainedHighSpeed) {
ATRACE_CALL();
ALOGV("%s: E", __FUNCTION__);
Mutex::Autolock il(mInterfaceLock);
Mutex::Autolock l(mLock);
+ mIsConstrainedHighSpeedConfiguration = isConstrainedHighSpeed;
return configureStreamsLocked();
}
@@ -1528,7 +1531,9 @@ status_t Camera3Device::configureStreamsLocked() {
ALOGV("%s: Camera %d: Starting stream configuration", __FUNCTION__, mId);
camera3_stream_configuration config;
-
+ config.operation_mode = mIsConstrainedHighSpeedConfiguration ?
+ CAMERA3_STREAM_CONFIGURATION_CONSTRAINED_HIGH_SPEED_MODE :
+ CAMERA3_STREAM_CONFIGURATION_NORMAL_MODE;
config.num_streams = (mInputStream != NULL) + mOutputStreams.size();
Vector<camera3_stream_t*> streams;