summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/OggExtractor.cpp
diff options
context:
space:
mode:
authorDongwon Kang <dwkang@google.com>2011-06-17 22:52:19 +0900
committerDongwon Kang <dwkang@google.com>2011-06-20 17:35:19 +0900
commitf9fb13966a8e6ba039e88a46d096cd1cce2eb283 (patch)
tree0e19006eecb0672bde2d50e181a371a34fb34ec0 /media/libstagefright/OggExtractor.cpp
parent31dab950e4ffeaaa33d39c2ca3d0b72fe028265c (diff)
downloadframeworks_av-f9fb13966a8e6ba039e88a46d096cd1cce2eb283.zip
frameworks_av-f9fb13966a8e6ba039e88a46d096cd1cce2eb283.tar.gz
frameworks_av-f9fb13966a8e6ba039e88a46d096cd1cce2eb283.tar.bz2
OGG: To prevent mediaserver from crash by SIGFPE (divide by zero) and more guarding in getMetaData().
BUG:4689872 Change-Id: I483bf230b5571a8d1815b954dce2c52e9a5f1f37
Diffstat (limited to 'media/libstagefright/OggExtractor.cpp')
-rw-r--r--media/libstagefright/OggExtractor.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/media/libstagefright/OggExtractor.cpp b/media/libstagefright/OggExtractor.cpp
index 1560b8e..29e6907 100644
--- a/media/libstagefright/OggExtractor.cpp
+++ b/media/libstagefright/OggExtractor.cpp
@@ -730,8 +730,9 @@ status_t MyVorbisExtractor::verifyHeader(
off64_t size;
if (mSource->getSize(&size) == OK) {
uint64_t bps = approxBitrate();
-
- mMeta->setInt64(kKeyDuration, size * 8000000ll / bps);
+ if (bps != 0) {
+ mMeta->setInt64(kKeyDuration, size * 8000000ll / bps);
+ }
}
break;
}