summaryrefslogtreecommitdiffstats
path: root/services/surfaceflinger/SurfaceFlingerConsumer.cpp
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2013-09-17 23:45:22 -0700
committerMathias Agopian <mathias@google.com>2013-09-17 23:45:22 -0700
commitc1c05de415854eb7a13a16b7e22a22de8515123a (patch)
tree9be282141f29b6c5ec7d6b75bffb59a05d26be42 /services/surfaceflinger/SurfaceFlingerConsumer.cpp
parent799f51268006f319f6ae538dca670bfc7f522688 (diff)
downloadframeworks_native-c1c05de415854eb7a13a16b7e22a22de8515123a.zip
frameworks_native-c1c05de415854eb7a13a16b7e22a22de8515123a.tar.gz
frameworks_native-c1c05de415854eb7a13a16b7e22a22de8515123a.tar.bz2
fix camera API 2.0 orientation
we add a flag to ANativeWindow::setBufferTransform that means "apply the inverse rotation of the display this buffer is displayed onto to". Bug: 10804238 Change-Id: Id2447676271950463e8dbcef1b95935c5c3f32b2
Diffstat (limited to 'services/surfaceflinger/SurfaceFlingerConsumer.cpp')
-rw-r--r--services/surfaceflinger/SurfaceFlingerConsumer.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/services/surfaceflinger/SurfaceFlingerConsumer.cpp b/services/surfaceflinger/SurfaceFlingerConsumer.cpp
index 552372b..6dc093e 100644
--- a/services/surfaceflinger/SurfaceFlingerConsumer.cpp
+++ b/services/surfaceflinger/SurfaceFlingerConsumer.cpp
@@ -99,6 +99,19 @@ status_t SurfaceFlingerConsumer::bindTextureImage()
return bindTextureImageLocked();
}
+status_t SurfaceFlingerConsumer::acquireBufferLocked(
+ BufferQueue::BufferItem *item, nsecs_t presentWhen) {
+ status_t result = GLConsumer::acquireBufferLocked(item, presentWhen);
+ if (result == NO_ERROR) {
+ mTransformToDisplayInverse = item->mTransformToDisplayInverse;
+ }
+ return result;
+}
+
+bool SurfaceFlingerConsumer::getTransformToDisplayInverse() const {
+ return mTransformToDisplayInverse;
+}
+
// We need to determine the time when a buffer acquired now will be
// displayed. This can be calculated:
// time when previous buffer's actual-present fence was signaled