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

Issue 2597833002: Reland [Mojo Video Capture] Decouple VCController from VCBufferPool and VCDeviceClient (Closed)

Created:
4 years ago by chfremer
Modified:
3 years, 11 months ago
CC:
chromium-reviews, posciak+watch_chromium.org, jam, feature-media-reviews_chromium.org, darin-cc_chromium.org, mcasas+watch+vc_chromium.org, xjz+watch_chromium.org, miu+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Reland [Mojo Video Capture] Decouple VideoCaptureController from VideoCaptureBufferPool and VideoCaptureDeviceClient PatchSet 1 is the state as reviewed and landed previously, see https://codereview.chromium.org/2551193002/ This state caused a regression where video capture would be stuck in a loop of old frames on Android when moving the browser to the background and bringing it back to the foreground. This was caused by a new buffer pool instance being created instead of the existing one being reused, while the renderer side would still be pointing to buffers of the previous instance. PatchSet 2 applies a fix for this issue. Below is the CL description of the original CL: Decouple VideoCaptureController from VideoCaptureBufferPool and VideoCaptureDeviceClient. This is needed in order to prepare VideoCaptureController for working with both the (legacy) in-process video capture and the new video_capture Mojo service. List of changes: * Introduce an abstraction FrameBufferPool for the VideoCaptureController to talk to the VideoCaptureBufferPool. * Move VideoFrameReceiverOnIOThread to separate file. * Move factory logic for creating and connecting VideoCaptureBufferPoolImpl and VideoCaptureDeviceClient out of VideoCaptureController and into VideoCaptureManager as well as the tests. * Update OWNERS to include new file and include chfremer as owner. * In VideoCaptureDeviceClient: Rename |frame_format| to |foramt|. This CL is part of the Mojo Video Capture work. For the bigger picture, see [1] CL1.9.8 BUG=584797 TEST= content_unittests, video_capture_unittests, Apprtc loopback on Debug, Desktop Capture Example extension on Release [1] https://docs.google.com/a/chromium.org/document/d/1Qw7rw1AJy0QHXjha36jZNiEuxsxWslJ_X-zpOhijvI8/edit?usp=sharing Committed: https://crrev.com/4f85f2f30f051cf961d28b17e3093dbd67c62661 Cr-Commit-Position: refs/heads/master@{#441261}

Patch Set 1 : State as reviewed previously #

Patch Set 2 : Fix for bug 675528 #

Total comments: 2

Patch Set 3 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+457 lines, -301 lines) Patch
M content/browser/BUILD.gn View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/renderer_host/media/OWNERS View 1 chunk +2 lines, -1 line 0 comments Download
M content/browser/renderer_host/media/video_capture_controller.h View 1 2 5 chunks +15 lines, -15 lines 0 comments Download
M content/browser/renderer_host/media/video_capture_controller.cc View 1 2 12 chunks +29 lines, -71 lines 0 comments Download
M content/browser/renderer_host/media/video_capture_controller_unittest.cc View 1 2 18 chunks +101 lines, -51 lines 0 comments Download
M content/browser/renderer_host/media/video_capture_device_client_unittest.cc View 4 chunks +27 lines, -8 lines 0 comments Download
M content/browser/renderer_host/media/video_capture_manager.h View 2 chunks +5 lines, -3 lines 0 comments Download
M content/browser/renderer_host/media/video_capture_manager.cc View 1 2 28 chunks +144 lines, -106 lines 0 comments Download
A content/browser/renderer_host/media/video_frame_receiver_on_io_thread.h View 1 chunk +37 lines, -0 lines 0 comments Download
A content/browser/renderer_host/media/video_frame_receiver_on_io_thread.cc View 1 chunk +45 lines, -0 lines 0 comments Download
M media/capture/video/video_capture_device.h View 2 chunks +13 lines, -5 lines 0 comments Download
M media/capture/video/video_capture_device_client.cc View 9 chunks +37 lines, -41 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 25 (16 generated)
chfremer
mcasas@: Please RS miu@: Please RS
4 years ago (2016-12-22 00:21:10 UTC) #5
miu
PS2 lgtm
4 years ago (2016-12-22 00:51:32 UTC) #6
mcasas
lgtm https://codereview.chromium.org/2597833002/diff/20001/content/browser/renderer_host/media/video_capture_manager.cc File content/browser/renderer_host/media/video_capture_manager.cc (right): https://codereview.chromium.org/2597833002/diff/20001/content/browser/renderer_host/media/video_capture_manager.cc#newcode182 content/browser/renderer_host/media/video_capture_manager.cc:182: // |buffer_pool| get reused instead of creating a ...
4 years ago (2016-12-22 03:07:43 UTC) #9
chfremer
avi@: Please RS
4 years ago (2016-12-22 03:16:45 UTC) #11
chfremer
On 2016/12/22 03:16:45, chfremer wrote: > avi@: Please RS ping avi@: Please RS
3 years, 11 months ago (2017-01-03 20:46:52 UTC) #12
Avi (use Gerrit)
lgtm rs; good luck
3 years, 11 months ago (2017-01-03 20:49:43 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2597833002/40001
3 years, 11 months ago (2017-01-04 00:15:46 UTC) #20
commit-bot: I haz the power
Committed patchset #3 (id:40001)
3 years, 11 months ago (2017-01-04 00:21:58 UTC) #23
commit-bot: I haz the power
3 years, 11 months ago (2017-01-04 00:24:45 UTC) #25
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/4f85f2f30f051cf961d28b17e3093dbd67c62661
Cr-Commit-Position: refs/heads/master@{#441261}

Powered by Google App Engine
This is Rietveld 408576698