MSE: On init segment received, set need random access point flag on all track buffers
commite178a3cc78f0d492b3793c903a209ca3dc75321f
authorwolenetz@chromium.org <wolenetz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 13 Jun 2014 03:58:08 +0000 (13 03:58 +0000)
committerwolenetz@chromium.org <wolenetz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Fri, 13 Jun 2014 03:58:08 +0000 (13 03:58 +0000)
tree05746051cdce44d5cfcc42e9c513b3aabc1ed1b4
parent4dede048e98f9184769bf31c1bcd67c7331ea9cf
MSE: On init segment received, set need random access point flag on all track buffers

This change updates Chromium to observe the proposed text in the W3C MSE
spec per https://www.w3.org/Bugs/Public/show_bug.cgi?id=26032.
Previously, SourceBufferStream::Append() would fail and report decode
error if the first processed (and appended to SBS) frame(s) after a
non-first init segment were not random access points.
This change drops those frames by setting the 'need random access point
flag' on all track buffers true during the initialization segment
received algorithm in SourceState::OnNewConfigs().

R=acolwell@chromium.org
TEST=shiny new test that fails (on both Legacy and new FrameProcessors) without the rest of this change applied

Review URL: https://codereview.chromium.org/322273003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@276914 0039d316-1c4b-4281-b951-d872f2087c98
media/filters/chunk_demuxer.cc
media/filters/chunk_demuxer_unittest.cc
media/filters/frame_processor.cc
media/filters/frame_processor.h
media/filters/frame_processor_base.cc
media/filters/frame_processor_base.h