summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/OggExtractor.cpp
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2014-07-17 10:52:36 -0700
committerLajos Molnar <lajos@google.com>2014-07-17 22:11:38 -0700
commit599950efbb03b1672561d4cf2272504b879525e8 (patch)
treecfb507c4b090974cc12cde0a6567f5bebfb70aab /media/libstagefright/OggExtractor.cpp
parentcc227036b05f7c2f960a89c567a61f9decefe742 (diff)
downloadframeworks_av-599950efbb03b1672561d4cf2272504b879525e8.zip
frameworks_av-599950efbb03b1672561d4cf2272504b879525e8.tar.gz
frameworks_av-599950efbb03b1672561d4cf2272504b879525e8.tar.bz2
stagefright: Fix seeking in MPEG4 container
- seek based on user-visible timestamp - seek to previous, next and closest exactly Bug: 12786906 Change-Id: I2d5e1fbff6469b6f081a284be2222a4cb50aa754
Diffstat (limited to 'media/libstagefright/OggExtractor.cpp')
-rw-r--r--media/libstagefright/OggExtractor.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/media/libstagefright/OggExtractor.cpp b/media/libstagefright/OggExtractor.cpp
index 8c15929..0838004 100644
--- a/media/libstagefright/OggExtractor.cpp
+++ b/media/libstagefright/OggExtractor.cpp
@@ -320,14 +320,14 @@ status_t MyVorbisExtractor::seekToTime(int64_t timeUs) {
}
size_t left = 0;
- size_t right = mTableOfContents.size();
- while (left < right) {
- size_t center = left / 2 + right / 2 + (left & right & 1);
+ size_t right = mTableOfContents.size() - 1;
+ while (left <= right) {
+ size_t center = left + (right - left) / 2;
const TOCEntry &entry = mTableOfContents.itemAt(center);
if (timeUs < entry.mTimeUs) {
- right = center;
+ right = center - 1;
} else if (timeUs > entry.mTimeUs) {
left = center + 1;
} else {