MSE: Allow negative DTS when MseBufferByPts feature is enabled

When compliantly processing frames and buffering by PTS interval,
negative DTS is no longer a trigger for parse error. This change
plumbs the buffering API (kLegacyByDts vs kNewByPts) being
used by the ChunkDemuxer into FrameProcessor and conditionally
allows negative DTS if buffering by PTS.

Includes related new FrameProcessorTests.

BUG=398141,718641

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I74c78d575ee26aa14c78e39b91ba7c6a303b3b87
Reviewed-on: https://chromium-review.googlesource.com/691431
Commit-Queue: Matthew Wolenetz <wolenetz@chromium.org>
Reviewed-by: Dan Sanders <sandersd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#506198}
6 files changed