Loading media/libstagefright/SampleIterator.cpp +4 −3 Original line number Original line Diff line number Diff line Loading @@ -94,8 +94,6 @@ status_t SampleIterator::seekTo(uint32_t sampleIndex) { + mFirstChunk; + mFirstChunk; if (!mInitialized || chunk != mCurrentChunkIndex) { if (!mInitialized || chunk != mCurrentChunkIndex) { mCurrentChunkIndex = chunk; status_t err; status_t err; if ((err = getChunkOffset(chunk, &mCurrentChunkOffset)) != OK) { if ((err = getChunkOffset(chunk, &mCurrentChunkOffset)) != OK) { ALOGE("getChunkOffset return error"); ALOGE("getChunkOffset return error"); Loading @@ -106,18 +104,21 @@ status_t SampleIterator::seekTo(uint32_t sampleIndex) { uint32_t firstChunkSampleIndex = uint32_t firstChunkSampleIndex = mFirstChunkSampleIndex mFirstChunkSampleIndex + mSamplesPerChunk * (mCurrentChunkIndex - mFirstChunk); + mSamplesPerChunk * (chunk - mFirstChunk); for (uint32_t i = 0; i < mSamplesPerChunk; ++i) { for (uint32_t i = 0; i < mSamplesPerChunk; ++i) { size_t sampleSize; size_t sampleSize; if ((err = getSampleSizeDirect( if ((err = getSampleSizeDirect( firstChunkSampleIndex + i, &sampleSize)) != OK) { firstChunkSampleIndex + i, &sampleSize)) != OK) { ALOGE("getSampleSizeDirect return error"); ALOGE("getSampleSizeDirect return error"); mCurrentChunkSampleSizes.clear(); return err; return err; } } mCurrentChunkSampleSizes.push(sampleSize); mCurrentChunkSampleSizes.push(sampleSize); } } mCurrentChunkIndex = chunk; } } uint32_t chunkRelativeSampleIndex = uint32_t chunkRelativeSampleIndex = Loading Loading
media/libstagefright/SampleIterator.cpp +4 −3 Original line number Original line Diff line number Diff line Loading @@ -94,8 +94,6 @@ status_t SampleIterator::seekTo(uint32_t sampleIndex) { + mFirstChunk; + mFirstChunk; if (!mInitialized || chunk != mCurrentChunkIndex) { if (!mInitialized || chunk != mCurrentChunkIndex) { mCurrentChunkIndex = chunk; status_t err; status_t err; if ((err = getChunkOffset(chunk, &mCurrentChunkOffset)) != OK) { if ((err = getChunkOffset(chunk, &mCurrentChunkOffset)) != OK) { ALOGE("getChunkOffset return error"); ALOGE("getChunkOffset return error"); Loading @@ -106,18 +104,21 @@ status_t SampleIterator::seekTo(uint32_t sampleIndex) { uint32_t firstChunkSampleIndex = uint32_t firstChunkSampleIndex = mFirstChunkSampleIndex mFirstChunkSampleIndex + mSamplesPerChunk * (mCurrentChunkIndex - mFirstChunk); + mSamplesPerChunk * (chunk - mFirstChunk); for (uint32_t i = 0; i < mSamplesPerChunk; ++i) { for (uint32_t i = 0; i < mSamplesPerChunk; ++i) { size_t sampleSize; size_t sampleSize; if ((err = getSampleSizeDirect( if ((err = getSampleSizeDirect( firstChunkSampleIndex + i, &sampleSize)) != OK) { firstChunkSampleIndex + i, &sampleSize)) != OK) { ALOGE("getSampleSizeDirect return error"); ALOGE("getSampleSizeDirect return error"); mCurrentChunkSampleSizes.clear(); return err; return err; } } mCurrentChunkSampleSizes.push(sampleSize); mCurrentChunkSampleSizes.push(sampleSize); } } mCurrentChunkIndex = chunk; } } uint32_t chunkRelativeSampleIndex = uint32_t chunkRelativeSampleIndex = Loading