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;
}