• Yuri Wiitala's avatar
    FrameSinkVideoCapturer: Fix refresh logic for damaged sources. · 93f7aa87
    Yuri Wiitala authored
    Fixes a couple of issues where frame capture becomes frozen or choppy,
    with the following changes:
    
    1. Move the "source dirty" logic out of VideoCaptureOracle and into
    FrameSinkVideoCapturerImpl.
    
    2. More-agressive response to frame refresh requests (needed for
    improved mouse cursor update response).
    
    3. Remove the distinction between passive and active refreshes from
    VideoCaptureOracle. FrameSinkVideoCapturer now tracks source damage, and
    can execute any refresh passively when there is no damage.
    
    4. Add logic to ensure that FrameSinkVideoCapturerImpl provides
    consumers with a refresh frame whenever key events occur; such as params
    changes, capture target changes, etc.; that are known to require a full
    update.
    
    5. Re-enable the content_browsertests that were disabled due to
    flakiness.
    
    Bug: 785072, 754872
    Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel
    Change-Id: I402f3f928de61e6754e04014327421e4f6917d5f
    Reviewed-on: https://chromium-review.googlesource.com/884996Reviewed-by: default avatarYuri Wiitala <miu@chromium.org>
    Reviewed-by: default avatarXiangjun Zhang <xjz@chromium.org>
    Reviewed-by: default avatarkylechar <kylechar@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#532161}
    93f7aa87
video_capture_oracle.cc 23.1 KB