This tests that an overlapping append of samples with reordered presentation timestamps will correctly remove previously appended non-reordered samples.

RUN(video.src = URL.createObjectURL(source))
EVENT(sourceopen)
RUN(sourceBuffer = source.addSourceBuffer("video/mock; codecs=mock"))
RUN(sourceBuffer.appendBuffer(initSegment))
EVENT(updateend)
RUN(sourceBuffer.appendBuffer(samples))
EVENT(updateend)
RUN(sourceBuffer.appendBuffer(samples))
EVENT(updateend)
EXPECTED (bufferedSamples.length == '9') OK
{PTS({0/1 = 0.000000}), DTS({0/1 = 0.000000}), duration({1/1 = 1.000000}), flags(1), generation(0)}
{PTS({1/1 = 1.000000}), DTS({1/1 = 1.000000}), duration({1/1 = 1.000000}), flags(0), generation(0)}
{PTS({2/1 = 2.000000}), DTS({2/1 = 2.000000}), duration({1/1 = 1.000000}), flags(0), generation(0)}
{PTS({3/1 = 3.000000}), DTS({3/1 = 3.000000}), duration({1/1 = 1.000000}), flags(0), generation(0)}
{PTS({4/1 = 4.000000}), DTS({4/1 = 4.000000}), duration({1/1 = 1.000000}), flags(1), generation(0)}
{PTS({6/1 = 6.000000}), DTS({4/1 = 4.000000}), duration({1/1 = 1.000000}), flags(1), generation(1)}
{PTS({7/1 = 7.000000}), DTS({5/1 = 5.000000}), duration({1/1 = 1.000000}), flags(0), generation(1)}
{PTS({4/1 = 4.000000}), DTS({6/1 = 6.000000}), duration({1/1 = 1.000000}), flags(0), generation(1)}
{PTS({5/1 = 5.000000}), DTS({7/1 = 7.000000}), duration({1/1 = 1.000000}), flags(0), generation(1)}
END OF TEST

