diff options
author | Zhijun He <zhijunhe@google.com> | 2016-01-18 15:32:50 -0800 |
---|---|---|
committer | Zhijun He <zhijunhe@google.com> | 2016-01-23 16:26:47 -0800 |
commit | 018107a82d80f186d3efca250e38e9c85436a4d9 (patch) | |
tree | cad8e46d1d824328bdd8dfbace742397a21da310 /camera/camera2/OutputConfiguration.cpp | |
parent | 97385561584e96c1c1149cf883e0ad1c75cfbdd0 (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.cpp | 19 |
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); |