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

Commit 9d41cf97 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "MPEG4Writer:changed logic when setting last frame duration explicitly"...

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

Change-Id: I867a22ad3d8b75f0c58a4dae842fe1f1c7fc1d86
parents 8ef33a2b 72d215df
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();