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

Commit f9ac0e84 authored by Marco Nelissen's avatar Marco Nelissen Committed by Gerrit Code Review
Browse files

Merge "Ignore audio sync sample list"

parents d3a512cb 9d6fcae9
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);
            }