summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/api2
diff options
context:
space:
mode:
authorYin-Chia Yeh <yinchiayeh@google.com>2015-03-19 17:27:52 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-03-19 17:27:53 +0000
commitae21e335e392125168601dba4731c85b5c25f33f (patch)
tree9fc3c0737d1391aa6aa9417b212275688cd3bd00 /services/camera/libcameraservice/api2
parent5a23aa949188fafe1d8d35966ff5a73974294dfd (diff)
parentb97babb8c08969b55af3b6456d15f764c8873d3f (diff)
downloadframeworks_av-ae21e335e392125168601dba4731c85b5c25f33f.zip
frameworks_av-ae21e335e392125168601dba4731c85b5c25f33f.tar.gz
frameworks_av-ae21e335e392125168601dba4731c85b5c25f33f.tar.bz2
Merge "Camera: plumbing rotation field through"
Diffstat (limited to 'services/camera/libcameraservice/api2')
-rw-r--r--services/camera/libcameraservice/api2/CameraDeviceClient.cpp9
-rw-r--r--services/camera/libcameraservice/api2/CameraDeviceClient.h4
2 files changed, 8 insertions, 5 deletions
diff --git a/services/camera/libcameraservice/api2/CameraDeviceClient.cpp b/services/camera/libcameraservice/api2/CameraDeviceClient.cpp
index ad10bda..0e2311c 100644
--- a/services/camera/libcameraservice/api2/CameraDeviceClient.cpp
+++ b/services/camera/libcameraservice/api2/CameraDeviceClient.cpp
@@ -314,8 +314,7 @@ status_t CameraDeviceClient::deleteStream(int streamId) {
return res;
}
-status_t CameraDeviceClient::createStream(
- const sp<IGraphicBufferProducer>& bufferProducer)
+status_t CameraDeviceClient::createStream(const OutputConfiguration &outputConfiguration)
{
ATRACE_CALL();
@@ -324,6 +323,8 @@ status_t CameraDeviceClient::createStream(
Mutex::Autolock icl(mBinderSerializationLock);
+
+ sp<IGraphicBufferProducer> bufferProducer = outputConfiguration.getGraphicBufferProducer();
if (bufferProducer == NULL) {
ALOGE("%s: bufferProducer must not be null", __FUNCTION__);
return BAD_VALUE;
@@ -413,7 +414,9 @@ status_t CameraDeviceClient::createStream(
int streamId = -1;
res = mDevice->createStream(anw, width, height, format, dataSpace,
- &streamId);
+ static_cast<camera3_stream_rotation_t>
+ (outputConfiguration.getRotation()),
+ &streamId);
if (res == OK) {
mStreamMap.add(binder, streamId);
diff --git a/services/camera/libcameraservice/api2/CameraDeviceClient.h b/services/camera/libcameraservice/api2/CameraDeviceClient.h
index c89c269..a3dbb90 100644
--- a/services/camera/libcameraservice/api2/CameraDeviceClient.h
+++ b/services/camera/libcameraservice/api2/CameraDeviceClient.h
@@ -19,6 +19,7 @@
#include <camera/camera2/ICameraDeviceUser.h>
#include <camera/camera2/ICameraDeviceCallbacks.h>
+#include <camera/camera2/OutputConfiguration.h>
#include "CameraService.h"
#include "common/FrameProcessorBase.h"
@@ -83,8 +84,7 @@ public:
// Returns -EBUSY if device is not idle
virtual status_t deleteStream(int streamId);
- virtual status_t createStream(
- const sp<IGraphicBufferProducer>& bufferProducer);
+ virtual status_t createStream(const OutputConfiguration &outputConfiguration);
// Create a request object from a template.
virtual status_t createDefaultRequest(int templateId,