
RUN(video.src = URL.createObjectURL(source))
EVENT(sourceopen)
RUN(sourceBuffer = source.addSourceBuffer("video/mock; codecs=mock"))
RUN(sourceBuffer.appendBuffer(initSegment))
EVENT(updateend)
Test that beginning a buffer with a non-sync sample results in that sample being dropped.
RUN(sourceBuffer.appendBuffer(samples))
EVENT(updateend)
RUN(quality = video.getVideoPlaybackQuality())
EXPECTED (quality.totalVideoFrames == '1') OK
EXPECTED (quality.corruptedVideoFrames == '0') OK
EXPECTED (quality.droppedVideoFrames == '1') OK
EXPECTED (quality.totalFrameDelay == '0') OK
RUN(sourceBuffer.appendBuffer(samples))
EVENT(updateend)
RUN(quality = video.getVideoPlaybackQuality())
EXPECTED (quality.totalVideoFrames == '8') OK
EXPECTED (quality.corruptedVideoFrames == '1') OK
EXPECTED (quality.droppedVideoFrames == '2') OK
EXPECTED (quality.totalFrameDelay == '3') OK
END OF TEST

