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

Commit 72d215df authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "MPEG4Writer:changed logic when setting last frame duration explicitly" into rvc-dev

parents 0c89e7a0 0c8170fa
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -3148,11 +3148,17 @@ status_t MPEG4Writer::Track::threadEntry() {
            if (buffer->meta_data().findInt32(kKeyIsEndOfStream, &isEOS) && isEOS) {
                int64_t eosSampleTimestampUs = -1;
                CHECK(buffer->meta_data().findInt64(kKeyTime, &eosSampleTimestampUs));
                ALOGV("eosSampleTimestampUs:%" PRId64, eosSampleTimestampUs);
                lastSampleDurationUs = eosSampleTimestampUs - previousSampleTimestampWithoutFudgeUs
                                       - previousPausedDurationUs;
                CHECK(lastSampleDurationUs >= 0);
                lastSampleDurationTicks = (lastSampleDurationUs * mTimeScale + 500000LL)/1000000LL;
                if (eosSampleTimestampUs > 0) {
                    lastSampleDurationUs = eosSampleTimestampUs -
                                           previousSampleTimestampWithoutFudgeUs -
                                           previousPausedDurationUs;
                    if (lastSampleDurationUs >= 0) {
                        lastSampleDurationTicks = (lastSampleDurationUs * mTimeScale + 500000LL) /
                                                  1000000LL;
                    } else {
                        ALOGW("lastSampleDurationUs %" PRId64 " is negative", lastSampleDurationUs);
                    }
                }
                buffer->release();
                buffer = nullptr;
                mSource->stop();