Loading media/libmediaplayerservice/nuplayer/GenericSource.cpp +20 −14 Original line number Original line Diff line number Diff line Loading @@ -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); Loading Loading @@ -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)) { Loading @@ -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; Loading Loading @@ -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; Loading media/libstagefright/MPEG4Extractor.cpp +8 −0 Original line number Original line Diff line number Diff line Loading @@ -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; Loading Loading @@ -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()); Loading media/libstagefright/SampleIterator.cpp +5 −0 Original line number Original line Diff line number Diff line Loading @@ -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; Loading Loading
media/libmediaplayerservice/nuplayer/GenericSource.cpp +20 −14 Original line number Original line Diff line number Diff line Loading @@ -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); Loading Loading @@ -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)) { Loading @@ -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; Loading Loading @@ -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; Loading
media/libstagefright/MPEG4Extractor.cpp +8 −0 Original line number Original line Diff line number Diff line Loading @@ -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; Loading Loading @@ -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()); Loading
media/libstagefright/SampleIterator.cpp +5 −0 Original line number Original line Diff line number Diff line Loading @@ -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; Loading