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

Commit 266eacc6 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:...

resolve merge conflicts of 823bd745 to lmp-mr1-dev am: 67ca3caf am: 6b52fd6b am: f4285f22 am: 87406db2 am: 5f44938f
am: ff8818df

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

Change-Id: Ib96a7f164ba4846f33737f3388ea0c242af38636
parents 02d1d044 ff8818df
Loading
Loading
Loading
Loading
+20 −14
Original line number Diff line number Diff line
@@ -211,6 +211,9 @@ status_t NuPlayer::GenericSource::initFromDataSource() {

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

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

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

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

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

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

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

            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) {
                    Track *cur = mFirstTrack;

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

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

    CHECK(sampleIndex < mStopChunkSampleIndex);

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

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