OSDN Git Service

Roll back recent change
authorAndy McFadden <fadden@android.com>
Fri, 2 Aug 2013 22:31:45 +0000 (15:31 -0700)
committerAndy McFadden <fadden@android.com>
Fri, 2 Aug 2013 22:31:45 +0000 (15:31 -0700)
Disable dropping of frames based on timestamp.  Resume auto-
generating timestamps in Surface.

Bug 10151804

Change-Id: I15de26158e1d7ef22a5b150e685a126dc48ae2b4

libs/gui/BufferQueue.cpp
libs/gui/Surface.cpp

index e22679e..88159aa 100644 (file)
@@ -855,7 +855,7 @@ status_t BufferQueue::acquireBuffer(BufferItem *buffer, nsecs_t expectedPresent)
         //
         // NOTE: code assumes monotonic time values from the system clock are
         // positive.
-        while (mQueue.size() > 1) {
+        while (false && mQueue.size() > 1) {
             // If entry[1] is timely, drop entry[0] (and repeat).  We apply
             // an additional criteria here: we only drop the earlier buffer if
             // our desiredPresent falls within +/- 1 second of the expected
index e2ec643..cfd29fe 100644 (file)
@@ -261,7 +261,9 @@ int Surface::queueBuffer(android_native_buffer_t* buffer, int fenceFd) {
     Mutex::Autolock lock(mMutex);
     int64_t timestamp;
     if (mTimestamp == NATIVE_WINDOW_TIMESTAMP_AUTO) {
-        timestamp = 0;
+        timestamp = systemTime(SYSTEM_TIME_MONOTONIC);
+        ALOGV("Surface::queueBuffer making up timestamp: %.2f ms",
+            timestamp / 1000000.f);
     } else {
         timestamp = mTimestamp;
     }