summaryrefslogtreecommitdiff
path: root/include/gui/BufferQueueConsumer.h
diff options
context:
space:
mode:
author Dan Stoza <stoza@google.com> 2015-05-12 12:56:16 -0700
committer Dan Stoza <stoza@google.com> 2015-05-12 13:10:17 -0700
commita4650a50a0b35e9e4342d6600b6eb24fd94bb8e5 (patch)
tree756ed49e76eb52abc3b1e8ec7cb962b9a627fcc6 /include/gui/BufferQueueConsumer.h
parent2a7dde58036e02b2417e49c8965d4a518d981b0b (diff)
Fix PTS handling for buffer replacement
This changes the way that SurfaceFlinger's shadow buffer management works such that instead of tracking the size of the shadow queue in the BufferQueue, SF tracks the last frame number it has seen, and passes that into the acquireBuffer call. BufferQueueConsumer then ensures that it never returns a buffer newer than that frame number, even if that means that it must return PRESENT_LATER for an otherwise valid buffer. Change-Id: I3fcb45f683ed660c3f18a8b85ae1f8a962ba6f0e
Diffstat (limited to 'include/gui/BufferQueueConsumer.h')
-rw-r--r--include/gui/BufferQueueConsumer.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/include/gui/BufferQueueConsumer.h b/include/gui/BufferQueueConsumer.h
index 0f42613100..cde302f8a6 100644
--- a/include/gui/BufferQueueConsumer.h
+++ b/include/gui/BufferQueueConsumer.h
@@ -47,7 +47,7 @@ public:
// returned. The presentation time is in nanoseconds, and the time base
// is CLOCK_MONOTONIC.
virtual status_t acquireBuffer(BufferItem* outBuffer,
- nsecs_t expectedPresent);
+ nsecs_t expectedPresent, uint64_t maxFrameNumber = 0) override;
// See IGraphicBufferConsumer::detachBuffer
virtual status_t detachBuffer(int slot);
@@ -148,9 +148,6 @@ public:
// Retrieve the sideband buffer stream, if any.
virtual sp<NativeHandle> getSidebandStream() const;
- // See IGraphicBufferConsumer::setShadowQueueSize
- virtual void setShadowQueueSize(size_t size);
-
// dump our state in a String
virtual void dump(String8& result, const char* prefix) const;