AudioPlayer didn't properly account for the latency when calculating the current media time.

related-to-bug: 2414900
diff --git a/media/libstagefright/AudioPlayer.cpp b/media/libstagefright/AudioPlayer.cpp
index efe7ebb..01578c1 100644
--- a/media/libstagefright/AudioPlayer.cpp
+++ b/media/libstagefright/AudioPlayer.cpp
@@ -249,7 +249,8 @@
                         kKeyTime, &mPositionTimeMediaUs));
 
             mPositionTimeRealUs =
-                ((mNumFramesPlayed + size_done / mFrameSize) * 1000000)
+                -mLatencyUs
+                + ((mNumFramesPlayed + size_done / mFrameSize) * 1000000)
                     / mSampleRate;
 
             LOGV("buffer->size() = %d, "
@@ -297,6 +298,10 @@
 int64_t AudioPlayer::getMediaTimeUs() {
     Mutex::Autolock autoLock(mLock);
 
+    if (mPositionTimeMediaUs < 0 || mPositionTimeRealUs < 0) {
+        return 0;
+    }
+
     return mPositionTimeMediaUs + (getRealTimeUsLocked() - mPositionTimeRealUs);
 }
 
@@ -307,7 +312,7 @@
     *realtime_us = mPositionTimeRealUs;
     *mediatime_us = mPositionTimeMediaUs;
 
-    return mPositionTimeRealUs != -1 || mPositionTimeMediaUs != -1;
+    return mPositionTimeRealUs != -1 && mPositionTimeMediaUs != -1;
 }
 
 status_t AudioPlayer::seekTo(int64_t time_us) {