Implement all resolution change policies for desktop and tab capture.
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}
Showing
This diff is collapsed.
Please register or sign in to comment