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

Commit f4285f22 authored by Wei Jia's avatar Wei Jia Committed by android-build-merger
Browse files

resolve merge conflicts of 823bd745 to lmp-mr1-dev am: 67ca3caf

am: 6b52fd6b

* commit '6b52fd6b':
  MPEG4Extractor: ensure kKeyTrackID exists before creating an MPEG4Source as track.

Change-Id: I0e66a037649b0000c90c91b40af6eb587362c00b
parents e83713c1 6b52fd6b
Loading
Loading
Loading
Loading
+20 −14
Original line number Original line Diff line number Diff line
@@ -208,6 +208,9 @@ status_t NuPlayer::GenericSource::initFromDataSource() {


    for (size_t i = 0; i < numtracks; ++i) {
    for (size_t i = 0; i < numtracks; ++i) {
        sp<MediaSource> track = extractor->getTrack(i);
        sp<MediaSource> track = extractor->getTrack(i);
        if (track == NULL) {
            continue;
        }


        sp<MetaData> meta = extractor->getTrackMetaData(i);
        sp<MetaData> meta = extractor->getTrackMetaData(i);


@@ -250,7 +253,6 @@ status_t NuPlayer::GenericSource::initFromDataSource() {
            }
            }
        }
        }


        if (track != NULL) {
        mSources.push(track);
        mSources.push(track);
        int64_t durationUs;
        int64_t durationUs;
        if (meta->findInt64(kKeyDuration, &durationUs)) {
        if (meta->findInt64(kKeyDuration, &durationUs)) {
@@ -266,6 +268,10 @@ status_t NuPlayer::GenericSource::initFromDataSource() {
            totalBitrate = -1;
            totalBitrate = -1;
        }
        }
    }
    }

    if (mSources.size() == 0) {
        ALOGE("b/23705695");
        return UNKNOWN_ERROR;
    }
    }


    mBitrate = totalBitrate;
    mBitrate = totalBitrate;
@@ -315,7 +321,7 @@ int64_t NuPlayer::GenericSource::getLastReadPosition() {


status_t NuPlayer::GenericSource::setBuffers(
status_t NuPlayer::GenericSource::setBuffers(
        bool audio, Vector<MediaBuffer *> &buffers) {
        bool audio, Vector<MediaBuffer *> &buffers) {
    if (mIsSecure && !audio) {
    if (mIsSecure && !audio && mVideoTrack.mSource != NULL) {
        return mVideoTrack.mSource->setBuffers(buffers);
        return mVideoTrack.mSource->setBuffers(buffers);
    }
    }
    return INVALID_OPERATION;
    return INVALID_OPERATION;
+8 −0
Original line number Original line Diff line number Diff line
@@ -923,6 +923,11 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) {
            }
            }


            if (isTrack) {
            if (isTrack) {
                int32_t trackId;
                // There must be exact one track header per track.
                if (!mLastTrack->meta->findInt32(kKeyTrackID, &trackId)) {
                    mLastTrack->skipTrack = true;
                }
                if (mLastTrack->skipTrack) {
                if (mLastTrack->skipTrack) {
                    Track *cur = mFirstTrack;
                    Track *cur = mFirstTrack;


@@ -2659,6 +2664,9 @@ sp<MediaSource> MPEG4Extractor::getTrack(size_t index) {
                break;
                break;
            }
            }
        }
        }
    } else {
        ALOGE("b/21657957");
        return NULL;
    }
    }


    ALOGV("getTrack called, pssh: %zu", mPssh.size());
    ALOGV("getTrack called, pssh: %zu", mPssh.size());
+5 −0
Original line number Original line Diff line number Diff line
@@ -84,6 +84,11 @@ status_t SampleIterator::seekTo(uint32_t sampleIndex) {


    CHECK(sampleIndex < mStopChunkSampleIndex);
    CHECK(sampleIndex < mStopChunkSampleIndex);


    if (mSamplesPerChunk == 0) {
        ALOGE("b/22802344");
        return ERROR_MALFORMED;
    }

    uint32_t chunk =
    uint32_t chunk =
        (sampleIndex - mFirstChunkSampleIndex) / mSamplesPerChunk
        (sampleIndex - mFirstChunkSampleIndex) / mSamplesPerChunk
        + mFirstChunk;
        + mFirstChunk;