diff options
Diffstat (limited to 'media/libstagefright/FileSource.cpp')
-rw-r--r-- | media/libstagefright/FileSource.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
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 @@ FileSource::FileSource(const char *filename) 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 @@ status_t FileSource::getSize(off64_t *size) { return NO_INIT; } - if (mLength >= 0) { - *size = mLength; - - return OK; - } - - *size = lseek64(mFd, 0, SEEK_END); + *size = mLength; return OK; } |