Move key frame flag from StreamParserBuffer to DecoderBuffer
This change is the first in a sequence of changes to enable eventual
removal of the "BrowserSeek" behavior in Chrome for Android by letting
reads from demuxer indicate if the buffer is a key frame or not.
This change
* moves |is_keyframe_| from StreamParserBuffer to DecoderBuffer |is_key_frame_|
* moves StreamParserBuffer::IsKeyframe() to DecoderBuffer::is_key_frame()
* adds DecoderBuffer::set_is_key_frame() to allow updating after buffer
construction
* populates this field in DemuxerStream subclasses and related code
* updates unit tests, especially ChunkDemuxerTest and FFmpegDemuxerTest,
to check keyframe expectations in stream read results for most of these tests
* updates media/mojo type DecoderBuffer type converter and unit tests to
round-trip the key frame flag.
Later change(s) will do the actual removal of Chrome for Android
BrowserSeek logic and tests.
BUG=304234
TEST=Updated unit tests pass, including mojo_media_lib_unittests
Review URL: https://codereview.chromium.org/
712593003
Cr-Commit-Position: refs/heads/master@{#303764}