diff options
Diffstat (limited to 'media/libstagefright/MPEG4Writer.cpp')
-rw-r--r-- | media/libstagefright/MPEG4Writer.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/media/libstagefright/MPEG4Writer.cpp b/media/libstagefright/MPEG4Writer.cpp index 47f114a..d4ac2e8 100644 --- a/media/libstagefright/MPEG4Writer.cpp +++ b/media/libstagefright/MPEG4Writer.cpp @@ -1881,6 +1881,10 @@ status_t MPEG4Writer::Track::stop() { status_t err = static_cast<status_t>(reinterpret_cast<uintptr_t>(dummy)); ALOGD("%s track stopped", mIsAudio? "Audio": "Video"); + if (mOwner->exceedsFileSizeLimit() && mStszTableEntries->count() == 0) { + ALOGE(" Filesize limit exceeded and zero samples written "); + return ERROR_END_OF_STREAM; + } return err; } @@ -3086,7 +3090,7 @@ void MPEG4Writer::Track::writePaspBox() { int32_t MPEG4Writer::Track::getStartTimeOffsetScaledTime() const { int64_t trackStartTimeOffsetUs = 0; int64_t moovStartTimeUs = mOwner->getStartTimestampUs(); - if (mStartTimestampUs != moovStartTimeUs) { + if (mStartTimestampUs != moovStartTimeUs && mStszTableEntries->count() != 0) { CHECK_GT(mStartTimestampUs, moovStartTimeUs); trackStartTimeOffsetUs = mStartTimestampUs - moovStartTimeUs; } |