• Matt Wolenetz's avatar
    [MSE][WebCodecs] WSBI::AppendChunks through parser, plus e2e test · fb340a76
    Matt Wolenetz authored
    This change:
    1) Implements WebSourceBufferImpl::AppendChunks(), plumbing the appended
       chunks through ChunkDemuxer into the stream parser's ProcessChunks().
    
    2) Implements WebCodecsEncodedChunkStreamParser::ProcessChunks(),
       emitting cached config when necessary (prior to calling the
       NewBuffersCB, initially, or if a flush() operation had just happened
       before the chunks were appended.
    
    3) Aligns as much as possible with existing architecture for similar
       handling by regular bytestream parsers, for improved reuse and
       maintainability.
    
    4) Adds a basic end-to-end vp9 video chunk buffering and playback test.
    
    Later refinements will add more tests and may improve usability with
    things like EncodedAudioChunk duration, EncodedVideoChunk
    decodeTimestamp, and h264 support (where applicable by build flags).
    
    BUG=1144908
    
    Change-Id: Ib787d22b0171826fa28bdbb776410e02e25a9cba
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2575501
    Commit-Queue: Matthew Wolenetz <wolenetz@chromium.org>
    Reviewed-by: default avatarDan Sanders <sandersd@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#836204}
    fb340a76
source_buffer.cc 101 KB