Loading media/extractors/mp4/MPEG4Extractor.cpp +10 −2 Original line number Diff line number Diff line Loading @@ -135,6 +135,7 @@ private: bool mWantsNALFragments; size_t mSrcBufferSize; uint8_t *mSrcBuffer; bool mIsHeif; Loading Loading @@ -3862,6 +3863,7 @@ MPEG4Source::MPEG4Source( mGroup(NULL), mBuffer(NULL), mWantsNALFragments(false), mSrcBufferSize(0), mSrcBuffer(NULL), mIsHeif(itemTable != NULL), mItemTable(itemTable) { Loading Loading @@ -3979,6 +3981,7 @@ status_t MPEG4Source::start(MetaDataBase *params) { mGroup = NULL; return ERROR_MALFORMED; } mSrcBufferSize = max_size; mStarted = true; Loading @@ -3995,6 +3998,7 @@ status_t MPEG4Source::stop() { mBuffer = NULL; } mSrcBufferSize = 0; delete[] mSrcBuffer; mSrcBuffer = NULL; Loading Loading @@ -4913,11 +4917,15 @@ status_t MPEG4Source::read( ssize_t num_bytes_read = 0; int32_t drm = 0; bool usesDRM = (mFormat.findInt32(kKeyIsDRM, &drm) && drm != 0); if (usesDRM) { if (usesDRM && size <= mBuffer->size()) { num_bytes_read = mDataSource->readAt(offset, (uint8_t*)mBuffer->data(), size); } else { } else if (!usesDRM && size <= mSrcBufferSize) { num_bytes_read = mDataSource->readAt(offset, mSrcBuffer, size); } else { // The sample is larger than the expected maximum size. Fall through and let the failure // be handled by the following if. android_errorWriteLog(0x534e4554, "188893559"); } if (num_bytes_read < (ssize_t)size) { Loading Loading
media/extractors/mp4/MPEG4Extractor.cpp +10 −2 Original line number Diff line number Diff line Loading @@ -135,6 +135,7 @@ private: bool mWantsNALFragments; size_t mSrcBufferSize; uint8_t *mSrcBuffer; bool mIsHeif; Loading Loading @@ -3862,6 +3863,7 @@ MPEG4Source::MPEG4Source( mGroup(NULL), mBuffer(NULL), mWantsNALFragments(false), mSrcBufferSize(0), mSrcBuffer(NULL), mIsHeif(itemTable != NULL), mItemTable(itemTable) { Loading Loading @@ -3979,6 +3981,7 @@ status_t MPEG4Source::start(MetaDataBase *params) { mGroup = NULL; return ERROR_MALFORMED; } mSrcBufferSize = max_size; mStarted = true; Loading @@ -3995,6 +3998,7 @@ status_t MPEG4Source::stop() { mBuffer = NULL; } mSrcBufferSize = 0; delete[] mSrcBuffer; mSrcBuffer = NULL; Loading Loading @@ -4913,11 +4917,15 @@ status_t MPEG4Source::read( ssize_t num_bytes_read = 0; int32_t drm = 0; bool usesDRM = (mFormat.findInt32(kKeyIsDRM, &drm) && drm != 0); if (usesDRM) { if (usesDRM && size <= mBuffer->size()) { num_bytes_read = mDataSource->readAt(offset, (uint8_t*)mBuffer->data(), size); } else { } else if (!usesDRM && size <= mSrcBufferSize) { num_bytes_read = mDataSource->readAt(offset, mSrcBuffer, size); } else { // The sample is larger than the expected maximum size. Fall through and let the failure // be handled by the following if. android_errorWriteLog(0x534e4554, "188893559"); } if (num_bytes_read < (ssize_t)size) { Loading