• miu's avatar
    Implement all resolution change policies for desktop and tab capture. · 39254e67
    miu authored
    Prior to this change, desktop/window capture would emit frames of any
    size, regardless of the resolution change policy; and tab capture would
    always emit frames of a fixed resolution.  Both cause a problem where
    some receivers of the captured video need to do scaling/letterboxing
    themselves for proper UX, and other receivers require this be done on
    by the capture pipeline.
    
    This change builds upon https://codereview.chromium.org/1124263004,
    which allows the client to specify capture constraints that configure
    the capture pipeline to do (or not do) the scaling/letterboxing.  All
    frame resolution calculation logic has been factored into one place in a
    new CaptureResolutionChooser class, which also depends on new utility
    functions added to media/base/video_util.*.
    
    BUG=473336
    
    Review URL: https://codereview.chromium.org/1135823004
    
    Cr-Commit-Position: refs/heads/master@{#330232}
    39254e67
content_browser.gypi 102 KB