Cache the file size in favour of extraneous seek requests.

Change-Id: Ia922b13179c69749d09cd3fccbd5c30109c28bd7
related-to-bug: 6321952
diff --git a/media/libstagefright/FileSource.cpp b/media/libstagefright/FileSource.cpp
index 73c8d03..07ec265 100644
--- a/media/libstagefright/FileSource.cpp
+++ b/media/libstagefright/FileSource.cpp
@@ -35,6 +35,10 @@
       mDrmBuf(NULL){
 
     mFd = open(filename, O_LARGEFILE | O_RDONLY);
+
+    if (mFd >= 0) {
+        mLength = lseek64(mFd, 0, SEEK_END);
+    }
 }
 
 FileSource::FileSource(int fd, int64_t offset, int64_t length)
@@ -116,13 +120,7 @@
         return NO_INIT;
     }
 
-    if (mLength >= 0) {
-        *size = mLength;
-
-        return OK;
-    }
-
-    *size = lseek64(mFd, 0, SEEK_END);
+    *size = mLength;
 
     return OK;
 }