am 6e76fda3: am f9782266: Merge "AwesomePlayer: improve scheduling of video event to hit PTS"

* commit '6e76fda36a87e154397de816fa091b721a4c11bd':
  AwesomePlayer: improve scheduling of video event to hit PTS
diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp
index 0dd867c..391392e 100644
--- a/media/libstagefright/AwesomePlayer.cpp
+++ b/media/libstagefright/AwesomePlayer.cpp
@@ -1944,8 +1944,9 @@
         }
 
         if (latenessUs < -10000) {
-            // We're more than 10ms early.
-            postVideoEvent_l(10000);
+            // We're more than 10ms early.  Try to schedule at least 12ms
+            // early (to hit this same check), or just on time.
+            postVideoEvent_l(latenessUs < -22000 ? 10000 : -latenessUs);
             return;
         }
     }
@@ -2009,7 +2010,10 @@
         int64_t nextTimeUs;
         CHECK(mVideoBuffer->meta_data()->findInt64(kKeyTime, &nextTimeUs));
         int64_t delayUs = nextTimeUs - ts->getRealTimeUs() + mTimeSourceDeltaUs;
-        postVideoEvent_l(delayUs > 10000 ? 10000 : delayUs < 0 ? 0 : delayUs);
+        ATRACE_INT("Frame delta (ms)", (nextTimeUs - timeUs) / 1E3);
+        ALOGV("next frame in %" PRId64, delayUs);
+        // try to schedule at least 12ms before due time, or just on time
+        postVideoEvent_l(delayUs > 22000 ? 10000 : delayUs < 0 ? 0 : delayUs);
         return;
     }