Merge "Ignore audio sync sample list" am: f9ac0e84e2 am: 34dec945e6

am: ee3eb46566

Change-Id: I97d4f6c2d2eb3dac74626cfd9edc1831b38cee37
gugelfrei
Marco Nelissen 5 years ago committed by android-build-merger
commit e8f70444fb

@ -142,6 +142,7 @@ private:
uint8_t *mSrcBuffer;
bool mIsHeif;
bool mIsAudio;
sp<ItemTable> mItemTable;
// Start offset from composition time to presentation time.
@ -4530,6 +4531,7 @@ MPEG4Source::MPEG4Source(
}
mIsPcm = !strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_RAW);
mIsAudio = !strncasecmp(mime, "audio/", 6);
if (mIsPcm) {
int32_t numChannels = 0;
@ -5416,8 +5418,11 @@ media_status_t MPEG4Source::read(
findFlags = SampleTable::kFlagBefore;
}
uint32_t syncSampleIndex;
if (err == OK) {
uint32_t syncSampleIndex = sampleIndex;
// assume every audio sample is a sync sample. This works around
// seek issues with files that were incorrectly written with an
// empty or single-sample stss block for the audio track
if (err == OK && !mIsAudio) {
err = mSampleTable->findSyncSampleNear(
sampleIndex, &syncSampleIndex, findFlags);
}

Loading…
Cancel
Save