summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
Diffstat (limited to 'media')
-rw-r--r--media/libstagefright/MPEG4Extractor.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/MPEG4Extractor.cpp
index 19da6ee..0064293 100644
--- a/media/libstagefright/MPEG4Extractor.cpp
+++ b/media/libstagefright/MPEG4Extractor.cpp
@@ -489,7 +489,9 @@ status_t MPEG4Extractor::readMetaData() {
off64_t orig_offset = offset;
err = parseChunk(&offset, 0);
- if (offset <= orig_offset) {
+ if (err != OK && err != UNKNOWN_ERROR) {
+ break;
+ } else if (offset <= orig_offset) {
// only continue parsing if the offset was advanced,
// otherwise we might end up in an infinite loop
ALOGE("did not advance: 0x%lld->0x%lld", orig_offset, offset);
@@ -497,9 +499,8 @@ status_t MPEG4Extractor::readMetaData() {
break;
} else if (err == OK) {
continue;
- } else if (err != UNKNOWN_ERROR) {
- break;
}
+
uint32_t hdr[2];
if (mDataSource->readAt(offset, hdr, 8) < 8) {
break;