Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(262)

Issue 1199593005: Automatic resolution throttling for screen capture pipeline. (Closed)

Created:
5 years, 6 months ago by miu
Modified:
5 years, 5 months ago
Reviewers:
hubbe
CC:
chromium-reviews, feature-media-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@resolution_chooser_ITEM13
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Automatic resolution throttling for screen capture pipeline. This makes VideoCaptureOracle responsible for proposing frame capture sizes. The oracle is given utilization feedback signals for each frame, and uses these to decide when to increase or decrease the capture size. Its goal is to automatically adapt to the current, ever-changing user environment and maintain capture at the frame rate of the content by lowering the capture resolution when necessary. NOTE: This new functionality is not enabled by default. BUG=156767 Committed: https://crrev.com/b372398531cba1b6a917a996e50f8ddf2e033d55 Cr-Commit-Position: refs/heads/master@{#337731}

Patch Set 1 #

Total comments: 16

Patch Set 2 : Addressed hubbe's comments, and replaced pessimistic accumulators with simple proving-period logic. REBASE #

Total comments: 2

Patch Set 3 : Finish plumbing-through auto-throttle switch now that other CL has landed. #

Patch Set 4 : Unit tests for auto-throttling. #

Patch Set 5 : Addressed hubbe's nit. #

Total comments: 2

Patch Set 6 : Move all end_t assignments out of for-loop init. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+747 lines, -84 lines) Patch
M content/browser/media/capture/web_contents_video_capture_device.cc View 1 2 3 chunks +10 lines, -4 lines 0 comments Download
M media/capture/screen_capture_device_core.h View 1 2 2 chunks +8 lines, -3 lines 0 comments Download
M media/capture/screen_capture_device_core.cc View 1 2 3 4 5 2 chunks +10 lines, -1 line 0 comments Download
M media/capture/thread_safe_capture_oracle.h View 1 2 3 chunks +2 lines, -5 lines 0 comments Download
M media/capture/thread_safe_capture_oracle.cc View 1 2 7 chunks +33 lines, -26 lines 0 comments Download
M media/capture/video_capture_oracle.h View 1 2 6 chunks +94 lines, -5 lines 0 comments Download
M media/capture/video_capture_oracle.cc View 1 2 3 4 10 chunks +328 lines, -13 lines 0 comments Download
M media/capture/video_capture_oracle_unittest.cc View 1 2 3 4 5 14 chunks +262 lines, -27 lines 0 comments Download

Messages

Total messages: 14 (4 generated)
miu
hubbe: Finally here! PTAL. Unit tests for all this coming soon.
5 years, 6 months ago (2015-06-23 05:01:46 UTC) #2
hubbe
https://codereview.chromium.org/1199593005/diff/1/media/capture/thread_safe_capture_oracle.cc File media/capture/thread_safe_capture_oracle.cc (right): https://codereview.chromium.org/1199593005/diff/1/media/capture/thread_safe_capture_oracle.cc#newcode73 media/capture/thread_safe_capture_oracle.cc:73: const double attenuated_utilization = client_->GetBufferPoolUtilization() / Multiplication is potentially ...
5 years, 6 months ago (2015-06-23 20:04:31 UTC) #3
miu
Hubbe: PTAL. Replaced pessimistic accumulators with a simpler "capable of increase for 30 seconds" heuristic. ...
5 years, 6 months ago (2015-06-25 20:49:00 UTC) #5
hubbe
lgtm https://codereview.chromium.org/1199593005/diff/40001/media/capture/video_capture_oracle.cc File media/capture/video_capture_oracle.cc (right): https://codereview.chromium.org/1199593005/diff/40001/media/capture/video_capture_oracle.cc#newcode55 media/capture/video_capture_oracle.cc:55: const int kDebouncingPeriodForAnimatedContentMicros = 3000000; All of these ...
5 years, 6 months ago (2015-06-25 21:57:43 UTC) #6
miu
hubbe: PTAL. Added unit tests and the "bool to enable" glue. https://codereview.chromium.org/1199593005/diff/40001/media/capture/video_capture_oracle.cc File media/capture/video_capture_oracle.cc (right): ...
5 years, 5 months ago (2015-07-01 22:11:47 UTC) #7
hubbe
lgtm https://codereview.chromium.org/1199593005/diff/80002/media/capture/video_capture_oracle_unittest.cc File media/capture/video_capture_oracle_unittest.cc (right): https://codereview.chromium.org/1199593005/diff/80002/media/capture/video_capture_oracle_unittest.cc#newcode379 media/capture/video_capture_oracle_unittest.cc:379: for (base::TimeTicks end_t = t + base::TimeDelta::FromSeconds(10); I ...
5 years, 5 months ago (2015-07-08 00:13:04 UTC) #8
miu
Thanks for the review! :) https://codereview.chromium.org/1199593005/diff/80002/media/capture/video_capture_oracle_unittest.cc File media/capture/video_capture_oracle_unittest.cc (right): https://codereview.chromium.org/1199593005/diff/80002/media/capture/video_capture_oracle_unittest.cc#newcode379 media/capture/video_capture_oracle_unittest.cc:379: for (base::TimeTicks end_t = ...
5 years, 5 months ago (2015-07-08 00:56:08 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1199593005/110001
5 years, 5 months ago (2015-07-08 00:58:08 UTC) #12
commit-bot: I haz the power
Committed patchset #6 (id:110001)
5 years, 5 months ago (2015-07-08 02:07:34 UTC) #13
commit-bot: I haz the power
5 years, 5 months ago (2015-07-08 02:08:26 UTC) #14
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/b372398531cba1b6a917a996e50f8ddf2e033d55
Cr-Commit-Position: refs/heads/master@{#337731}

Powered by Google App Engine
This is Rietveld 408576698