summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MPEG4Writer.cpp
diff options
context:
space:
mode:
authorRobert Shih <robertshih@google.com>2015-06-03 16:49:30 -0700
committerRobert Shih <robertshih@google.com>2015-06-05 18:24:16 -0700
commit2aa74dc097fe860abc84769abf2b6e0962718471 (patch)
treeadad1804e8c7054c64efaf069b176110f547c115 /media/libstagefright/MPEG4Writer.cpp
parent4170eeec0a2dc2a9543b7e4674a43b3d2faac61d (diff)
downloadframeworks_av-2aa74dc097fe860abc84769abf2b6e0962718471.zip
frameworks_av-2aa74dc097fe860abc84769abf2b6e0962718471.tar.gz
frameworks_av-2aa74dc097fe860abc84769abf2b6e0962718471.tar.bz2
MPEG4Writer: fail init check if output fd is not seekable
Bug: 12239375 Change-Id: Id1e23b3803f0ed48e4d1ad3ec4b84c4a39325ddd
Diffstat (limited to 'media/libstagefright/MPEG4Writer.cpp')
-rw-r--r--media/libstagefright/MPEG4Writer.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/media/libstagefright/MPEG4Writer.cpp b/media/libstagefright/MPEG4Writer.cpp
index 95f361e..867ce0b 100644
--- a/media/libstagefright/MPEG4Writer.cpp
+++ b/media/libstagefright/MPEG4Writer.cpp
@@ -385,6 +385,13 @@ MPEG4Writer::MPEG4Writer(int fd)
mStartTimeOffsetMs(-1),
mMetaKeys(new AMessage()) {
addDeviceMeta();
+
+ // Verify mFd is seekable
+ off64_t off = lseek64(mFd, 0, SEEK_SET);
+ if (off < 0) {
+ ALOGE("cannot seek mFd: %s (%d)", strerror(errno), errno);
+ release();
+ }
}
MPEG4Writer::~MPEG4Writer() {