summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2011-10-06 09:07:12 -0700
committerAndreas Huber <andih@google.com>2011-10-06 09:07:12 -0700
commit788a07fc61bad7ea2f0e3cca3f126b52a9bab376 (patch)
treeed991f32cc744c9f8e36a173d2ca679fe12d211a /media
parentd20bf0676d6db8f12edcd2307f82409c076c7015 (diff)
downloadframeworks_av-788a07fc61bad7ea2f0e3cca3f126b52a9bab376.zip
frameworks_av-788a07fc61bad7ea2f0e3cca3f126b52a9bab376.tar.gz
frameworks_av-788a07fc61bad7ea2f0e3cca3f126b52a9bab376.tar.bz2
Return a runtime error instead of assertion if seeking beyond EOS in mpeg4 files.
Change-Id: If6531b4a1ff45460cfcdcc04764c5c63a2f5a749 related-to-bug: 5418914
Diffstat (limited to 'media')
-rw-r--r--media/libstagefright/MPEG4Extractor.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/MPEG4Extractor.cpp
index 3b79f06..1e24599 100644
--- a/media/libstagefright/MPEG4Extractor.cpp
+++ b/media/libstagefright/MPEG4Extractor.cpp
@@ -1972,6 +1972,12 @@ status_t MPEG4Source::read(
sampleIndex, &syncSampleIndex, findFlags);
}
+ uint32_t sampleTime;
+ if (err == OK) {
+ err = mSampleTable->getMetaDataForSample(
+ sampleIndex, NULL, NULL, &sampleTime);
+ }
+
if (err != OK) {
if (err == ERROR_OUT_OF_RANGE) {
// An attempt to seek past the end of the stream would
@@ -1984,10 +1990,6 @@ status_t MPEG4Source::read(
return err;
}
- uint32_t sampleTime;
- CHECK_EQ((status_t)OK, mSampleTable->getMetaDataForSample(
- sampleIndex, NULL, NULL, &sampleTime));
-
if (mode == ReadOptions::SEEK_CLOSEST) {
targetSampleTimeUs = (sampleTime * 1000000ll) / mTimescale;
}