summaryrefslogtreecommitdiffstats
path: root/camera/camera2/ICameraDeviceUser.cpp
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 /camera/camera2/ICameraDeviceUser.cpp
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 'camera/camera2/ICameraDeviceUser.cpp')
-rw-r--r--camera/camera2/ICameraDeviceUser.cpp32
1 files changed, 12 insertions, 20 deletions
diff --git a/camera/camera2/ICameraDeviceUser.cpp b/camera/camera2/ICameraDeviceUser.cpp
index d1d63d5..89c6fb7 100644
--- a/camera/camera2/ICameraDeviceUser.cpp
+++ b/camera/camera2/ICameraDeviceUser.cpp
@@ -26,6 +26,7 @@
#include <gui/Surface.h>
#include <camera/CameraMetadata.h>
#include <camera/camera2/CaptureRequest.h>
+#include <camera/camera2/OutputConfiguration.h>
namespace android {
@@ -208,17 +209,16 @@ public:
return reply.readInt32();
}
- virtual status_t createStream(
- const sp<IGraphicBufferProducer>& bufferProducer)
+ virtual status_t createStream(const OutputConfiguration& outputConfiguration)
{
Parcel data, reply;
data.writeInterfaceToken(ICameraDeviceUser::getInterfaceDescriptor());
-
- data.writeInt32(1); // marker that bufferProducer is not null
- data.writeString16(String16("unknown_name")); // name of surface
- sp<IBinder> b(IInterface::asBinder(bufferProducer));
- data.writeStrongBinder(b);
-
+ if (outputConfiguration.getGraphicBufferProducer() != NULL) {
+ data.writeInt32(1); // marker that OutputConfiguration is not null. Mimic aidl behavior
+ outputConfiguration.writeToParcel(data);
+ } else {
+ data.writeInt32(0);
+ }
remote()->transact(CREATE_STREAM, data, &reply);
reply.readExceptionCode();
@@ -394,22 +394,14 @@ status_t BnCameraDeviceUser::onTransact(
case CREATE_STREAM: {
CHECK_INTERFACE(ICameraDeviceUser, data, reply);
- sp<IGraphicBufferProducer> bp;
+ status_t ret = BAD_VALUE;
if (data.readInt32() != 0) {
- String16 name = readMaybeEmptyString16(data);
- bp = interface_cast<IGraphicBufferProducer>(
- data.readStrongBinder());
-
- ALOGV("%s: CREATE_STREAM: bp = %p, name = %s", __FUNCTION__,
- bp.get(), String8(name).string());
+ OutputConfiguration outputConfiguration(data);
+ ret = createStream(outputConfiguration);
} else {
- ALOGV("%s: CREATE_STREAM: bp = unset, name = unset",
- __FUNCTION__);
+ ALOGE("%s: cannot take an empty OutputConfiguration", __FUNCTION__);
}
- status_t ret;
- ret = createStream(bp);
-
reply->writeNoException();
ALOGV("%s: CREATE_STREAM: write noException", __FUNCTION__);
reply->writeInt32(ret);