From 8d0dd8b46163ec7b42e2051c441ae2bf96dd9aec Mon Sep 17 00:00:00 2001 From: Hong Teng Date: Thu, 15 Dec 2011 16:56:49 -0800 Subject: Fix for 5754998 testPerformanceTransitionWithEffectOverlapping test failed. -Fix the index is out of sync frame array boundary when seeking to end of a 3gp file. Validation only were done for video editor cts test and Movie Studio application. Futher validation may include media player, youtube application,.etc. Change-Id: Ib01314f1768cfab702dbe25c307553ace0b85e77 --- media/libstagefright/SampleTable.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'media/libstagefright/SampleTable.cpp') diff --git a/media/libstagefright/SampleTable.cpp b/media/libstagefright/SampleTable.cpp index 8e790fc..3e287fa 100644 --- a/media/libstagefright/SampleTable.cpp +++ b/media/libstagefright/SampleTable.cpp @@ -632,6 +632,13 @@ status_t SampleTable::findSyncSampleNear( break; } } + if (left == mNumSyncSamples) { + if (flags == kFlagAfter) { + LOGE("tried to find a sync frame after the last one: %d", left); + return ERROR_OUT_OF_RANGE; + } + left = left - 1; + } // Now ssi[left] is the sync sample index just before (or at) // start_sample_index. -- cgit v1.1