Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 34dec945 authored by Marco Nelissen's avatar Marco Nelissen Committed by android-build-merger
Browse files

Merge "Ignore audio sync sample list"

am: f9ac0e84

Change-Id: I0f935b58faf4b2ca68eb2c6ecbe4df4beafbca56
parents e5ed688e f9ac0e84
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -143,6 +143,7 @@ private:
    uint8_t *mSrcBuffer;

    bool mIsHeif;
    bool mIsAudio;
    sp<ItemTable> mItemTable;

    size_t parseNALSize(const uint8_t *data) const;
@@ -4030,6 +4031,7 @@ MPEG4Source::MPEG4Source(
    }

    mIsPcm = !strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_RAW);
    mIsAudio = !strncasecmp(mime, "audio/", 6);

    if (mIsPcm) {
        int32_t numChannels = 0;
@@ -4869,8 +4871,11 @@ 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);
            }