• Hirokazu Honda's avatar
    media/gpu/video_encode_accelerator_tests: Fix the timing of FlushDoneTask()... · e94603ea
    Hirokazu Honda authored
    media/gpu/video_encode_accelerator_tests: Fix the timing of FlushDoneTask() when VEA doesn't support Flush()
    
    When VideoEncodeAccelerator (VEA) doesn't support Flush(),
    VideoEncoderClient simulates the Flush() flow. VideoEncoderClient
    starts the Flush event when the last frame is fed to VEA.
    VideoEncoderClient, however, invokes FlushDoneEvent() when the
    VEA read the last frame. This may be before the encoded bitstream
    of the last frame is returned by BitstreamBufferReady().
    This not only breaks VEA API rule; FlushDoneTask() is called
    after the encoded bitstream of the last frame is returned, but
    also BitstreamBufferProcessors may process less number of frames
    than expected.
    This CL fixes the timing of FlushDoneTask().
    
    Bug: b:159384004, 1045825
    Test: video_encode_accelerator_tests on hana
    Change-Id: I47e3bc39699a727f5bdb9ccc0043dc2bd096fa6d
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2340853
    Commit-Queue: Hirokazu Honda <hiroh@chromium.org>
    Reviewed-by: default avatarDavid Staessens <dstaessens@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#798001}
    e94603ea
video_encoder_client.cc 17.2 KB