MSE: Replace crossfade splicing overlap trimming

Desktop / Chromium - chcunningham [chromium.org] - 2 November 2016 15:51 UTC

Crossfading is quite complex and error prone (source of many crashes). It is also not necessary for the gapless playback scenario (handled entirely by partial append window trimming).

The simpler approach is to just trim the existing buffer, eliminating the overlap.

See MSE spec proposal here: https://github.com/w3c/media-source/issues/165

BUG=588351, 577438 TEST=new unit tests

Review-Url: https://codereview.chromium.org/2343543002 Cr-Commit-Position: refs/heads/master@{#429394}

967db2f MSE: Replace crossfade splicing overlap trimming.
media/base/test_helpers.h | 19 +-
media/blink/webmediaplayer_impl.cc | 2 +-
media/filters/chunk_demuxer.cc | 33 +-
media/filters/chunk_demuxer.h | 14 +-
media/filters/chunk_demuxer_unittest.cc | 72 ++--
media/filters/frame_processor_unittest.cc | 4 +-
media/filters/source_buffer_state_unittest.cc | 2 +-
media/filters/source_buffer_stream.cc | 364 +++++++------------
media/filters/source_buffer_stream.h | 47 +--
media/filters/source_buffer_stream_unittest.cc | 460 +++++++++---------------
media/test/pipeline_integration_test.cc | 3 +-
11 files changed, 397 insertions(+), 623 deletions(-)

Upstream: git.chromium.org


  • Share