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

Commit a8414b86 authored by Venkatarama Avadhani's avatar Venkatarama Avadhani
Browse files

Fix Issue in MPEG4 Append

When appending, if the buffers are re-ordered, it is possible the
mOffset value gets set to a previously appended value.

Bug: 310339398
Test: atest android.mediav2.cts.MuxerTest
Change-Id: I79309d0ff28b9750ee445e3876d32bc857faa702
parent 8c0967af
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1639,6 +1639,11 @@ off64_t MPEG4Writer::addSample_l(
    ALOGV("buffer->range_length:%lld", (long long)buffer->range_length());
    if (buffer->meta_data().findInt64(kKeySampleFileOffset, &offset)) {
        ALOGV("offset:%lld, old_offset:%lld", (long long)offset, (long long)old_offset);
        if (mMaxOffsetAppend > offset) {
            // This has already been appended, skip updating mOffset value.
            *bytesWritten = buffer->range_length();
            return offset;
        }
        if (old_offset == offset) {
            mOffset += buffer->range_length();
        } else {