summaryrefslogtreecommitdiff
path: root/camera/camera2/OutputConfiguration.cpp
diff options
context:
space:
mode:
authorZhijun He <zhijunhe@google.com>2016-01-18 15:32:50 -0800
committerZhijun He <zhijunhe@google.com>2016-01-23 16:26:47 -0800
commit018107a82d80f186d3efca250e38e9c85436a4d9 (patch)
treecad8e46d1d824328bdd8dfbace742397a21da310 /camera/camera2/OutputConfiguration.cpp
parent97385561584e96c1c1149cf883e0ad1c75cfbdd0 (diff)
camera: Add surface set ID to OutputConfiguration
Bug: 25088440 Change-Id: I95153522b8b1f3ec4c98800b94a95fe7782c9205
Diffstat (limited to 'camera/camera2/OutputConfiguration.cpp')
-rw-r--r--camera/camera2/OutputConfiguration.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/camera/camera2/OutputConfiguration.cpp b/camera/camera2/OutputConfiguration.cpp
index 20a23e068c..35051546ac 100644
--- a/camera/camera2/OutputConfiguration.cpp
+++ b/camera/camera2/OutputConfiguration.cpp
@@ -25,6 +25,7 @@ namespace android {
const int OutputConfiguration::INVALID_ROTATION = -1;
+const int OutputConfiguration::INVALID_SET_ID = -1;
// Read empty strings without printing a false error message.
String16 OutputConfiguration::readMaybeEmptyString16(const Parcel& parcel) {
@@ -45,6 +46,10 @@ int OutputConfiguration::getRotation() const {
return mRotation;
}
+int OutputConfiguration::getSurfaceSetID() const {
+ return mSurfaceSetID;
+}
+
OutputConfiguration::OutputConfiguration(const Parcel& parcel) {
status_t err;
int rotation = 0;
@@ -55,24 +60,36 @@ OutputConfiguration::OutputConfiguration(const Parcel& parcel) {
return;
}
+ int setID = INVALID_SET_ID;
+ if ((err = parcel.readInt32(&setID)) != OK) {
+ ALOGE("%s: Failed to read surface set ID from parcel", __FUNCTION__);
+ mGbp = NULL;
+ mSurfaceSetID = INVALID_SET_ID;
+ return;
+ }
+
String16 name = readMaybeEmptyString16(parcel);
const sp<IGraphicBufferProducer>& gbp =
interface_cast<IGraphicBufferProducer>(parcel.readStrongBinder());
mGbp = gbp;
mRotation = rotation;
+ mSurfaceSetID = setID;
ALOGV("%s: OutputConfiguration: bp = %p, name = %s", __FUNCTION__,
gbp.get(), String8(name).string());
}
-OutputConfiguration::OutputConfiguration(sp<IGraphicBufferProducer>& gbp, int rotation) {
+OutputConfiguration::OutputConfiguration(sp<IGraphicBufferProducer>& gbp, int rotation,
+ int surfaceSetID) {
mGbp = gbp;
mRotation = rotation;
+ mSurfaceSetID = surfaceSetID;
}
status_t OutputConfiguration::writeToParcel(Parcel& parcel) const {
parcel.writeInt32(mRotation);
+ parcel.writeInt32(mSurfaceSetID);
parcel.writeString16(String16("unknown_name")); // name of surface
sp<IBinder> b(IInterface::asBinder(mGbp));
parcel.writeStrongBinder(b);