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

Issue 22935009: Add content::SurfaceCapturer (Closed)

Created:
7 years, 4 months ago by sheu
Modified:
7 years, 3 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, jam, apatrick_chromium, sievers+watch_chromium.org, jbauman+watch_chromium.org, feature-media-reviews_chromium.org, darin-cc_chromium.org, piman+watch_chromium.org, danakj+watch_chromium.org, miu+watch_chromium.org, Ami GONE FROM CHROMIUM
Base URL:
https://chromium.googlesource.com/chromium/src.git@screencast_stride
Visibility:
Public.

Description

The SurfaceCapturer interface is for screen capturers that capture contents directly from a surface. This change: * Adds the SurfaceCapturer interface * Adds GLSurfaceCapturer{,Host}, which expose the interface across IPC from the GPU process to the browser process. BUG=260210 BUG=221441 TEST=local build, run on CrOS snow Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=220369

Patch Set 1 : cff149b4 WIP #

Total comments: 10

Patch Set 2 : 7794dca4 Rebase, WIP #

Patch Set 3 : 893c8c05 Interface change due to hshi@. #

Patch Set 4 : af28d80b WIP #

Patch Set 5 : 229d7eef Complete. #

Patch Set 6 : 89e2665f Rebase. #

Total comments: 23

Patch Set 7 : eb01d94a Comment fixes. #

Total comments: 2

Patch Set 8 : f7ced01c IPC check fix. #

Patch Set 9 : af8f3e73 Separated from BrowserCompositorOutputSurface* components. #

Total comments: 6

Patch Set 10 : fc5be088 Comment fixes. #

Patch Set 11 : a1372c98 Rebase for commit. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+786 lines, -15 lines) Patch
M content/common/gpu/client/command_buffer_proxy_impl.h View 1 2 chunks +6 lines, -0 lines 0 comments Download
M content/common/gpu/client/command_buffer_proxy_impl.cc View 1 2 3 4 5 6 2 chunks +20 lines, -0 lines 0 comments Download
A content/common/gpu/client/gl_surface_capturer_host.h View 1 2 3 4 5 6 7 8 9 1 chunk +107 lines, -0 lines 0 comments Download
A content/common/gpu/client/gl_surface_capturer_host.cc View 1 2 3 4 5 6 7 8 9 1 chunk +196 lines, -0 lines 0 comments Download
M content/common/gpu/gpu_command_buffer_stub.h View 1 chunk +2 lines, -0 lines 0 comments Download
M content/common/gpu/gpu_command_buffer_stub.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +15 lines, -0 lines 0 comments Download
M content/common/gpu/gpu_messages.h View 1 2 3 4 5 6 4 chunks +46 lines, -0 lines 0 comments Download
A content/common/gpu/media/gl_surface_capturer.h View 1 2 3 4 5 6 1 chunk +88 lines, -0 lines 0 comments Download
A content/common/gpu/media/gl_surface_capturer.cc View 1 2 3 4 5 6 7 1 chunk +186 lines, -0 lines 0 comments Download
A content/common/gpu/surface_capturer.h View 1 2 3 4 5 6 1 chunk +100 lines, -0 lines 0 comments Download
A + content/common/gpu/surface_capturer.cc View 1 chunk +4 lines, -5 lines 0 comments Download
M content/content_common.gypi View 1 2 3 4 5 6 7 8 9 10 2 chunks +16 lines, -10 lines 0 comments Download

Messages

Total messages: 35 (0 generated)
hshi1
https://chromiumcodereview.appspot.com/22935009/diff/3001/content/browser/aura/browser_compositor_output_surface_capturer.cc File content/browser/aura/browser_compositor_output_surface_capturer.cc (right): https://chromiumcodereview.appspot.com/22935009/diff/3001/content/browser/aura/browser_compositor_output_surface_capturer.cc#newcode24 content/browser/aura/browser_compositor_output_surface_capturer.cc:24: client_(client_ptr_factory_.GetWeakPtr()); typo: ';' -> ',' https://chromiumcodereview.appspot.com/22935009/diff/3001/content/common/gpu/client/gl_surface_capturer_host.h File content/common/gpu/client/gl_surface_capturer_host.h (right): ...
7 years, 4 months ago (2013-08-15 19:40:18 UTC) #1
miu
Drive-by review comment: You've added a lot of new code and should be adding a ...
7 years, 4 months ago (2013-08-15 20:22:08 UTC) #2
hshi1
https://chromiumcodereview.appspot.com/22935009/diff/3001/content/common/gpu/client/gl_surface_capturer_host.h File content/common/gpu/client/gl_surface_capturer_host.h (right): https://chromiumcodereview.appspot.com/22935009/diff/3001/content/common/gpu/client/gl_surface_capturer_host.h#newcode73 content/common/gpu/client/gl_surface_capturer_host.h:73: const base::ThreadChecker thread_checker_; On 2013/08/15 20:22:08, Yuri wrote: > ...
7 years, 4 months ago (2013-08-15 20:45:29 UTC) #3
ncarter (slow)
https://chromiumcodereview.appspot.com/22935009/diff/3001/media/base/video_frame.cc File media/base/video_frame.cc (right): https://chromiumcodereview.appspot.com/22935009/diff/3001/media/base/video_frame.cc#newcode251 media/base/video_frame.cc:251: size_t VideoFrame::AllocationSize(Format format, const gfx::Size& coded_size) { The behavior ...
7 years, 4 months ago (2013-08-15 20:46:59 UTC) #4
sheu
https://chromiumcodereview.appspot.com/22935009/diff/3001/media/base/video_frame.cc File media/base/video_frame.cc (right): https://chromiumcodereview.appspot.com/22935009/diff/3001/media/base/video_frame.cc#newcode251 media/base/video_frame.cc:251: size_t VideoFrame::AllocationSize(Format format, const gfx::Size& coded_size) { On 2013/08/15 ...
7 years, 4 months ago (2013-08-15 21:30:48 UTC) #5
danakj
Can this be not one huge CL? It'd be nice to add APIs and new ...
7 years, 4 months ago (2013-08-15 21:37:54 UTC) #6
danakj
https://chromiumcodereview.appspot.com/22935009/diff/3001/content/browser/aura/browser_compositor_output_surface_capturer.cc File content/browser/aura/browser_compositor_output_surface_capturer.cc (right): https://chromiumcodereview.appspot.com/22935009/diff/3001/content/browser/aura/browser_compositor_output_surface_capturer.cc#newcode91 content/browser/aura/browser_compositor_output_surface_capturer.cc:91: void BrowserCompositorOutputSurfaceCapturer::NotifySwapBuffersOnImplThread() { Why are you capturing the compositor's ...
7 years, 4 months ago (2013-08-15 21:39:41 UTC) #7
sheu
https://chromiumcodereview.appspot.com/22935009/diff/3001/content/browser/aura/browser_compositor_output_surface_capturer.cc File content/browser/aura/browser_compositor_output_surface_capturer.cc (right): https://chromiumcodereview.appspot.com/22935009/diff/3001/content/browser/aura/browser_compositor_output_surface_capturer.cc#newcode91 content/browser/aura/browser_compositor_output_surface_capturer.cc:91: void BrowserCompositorOutputSurfaceCapturer::NotifySwapBuffersOnImplThread() { On 2013/08/15 21:39:41, danakj wrote: > ...
7 years, 4 months ago (2013-08-15 21:48:05 UTC) #8
danakj
https://chromiumcodereview.appspot.com/22935009/diff/3001/content/browser/aura/browser_compositor_output_surface_capturer.cc File content/browser/aura/browser_compositor_output_surface_capturer.cc (right): https://chromiumcodereview.appspot.com/22935009/diff/3001/content/browser/aura/browser_compositor_output_surface_capturer.cc#newcode91 content/browser/aura/browser_compositor_output_surface_capturer.cc:91: void BrowserCompositorOutputSurfaceCapturer::NotifySwapBuffersOnImplThread() { On 2013/08/15 21:48:05, sheu wrote: > ...
7 years, 4 months ago (2013-08-15 21:50:18 UTC) #9
sheu
danakj@: the ideal implementation would be to have CopyOutputRequest/Result work with texture mailboxes, plumb texture ...
7 years, 4 months ago (2013-08-23 01:21:56 UTC) #10
danakj
On Thu, Aug 22, 2013 at 9:21 PM, <sheu@chromium.org> wrote: > danakj@: the ideal implementation ...
7 years, 4 months ago (2013-08-23 01:31:38 UTC) #11
sheu
On 2013/08/23 01:31:38, danakj wrote: > CopyOutputResult already returns a texture mailbox when using hardware ...
7 years, 4 months ago (2013-08-23 01:42:10 UTC) #12
danakj
On Thu, Aug 22, 2013 at 9:42 PM, <sheu@chromium.org> wrote: > On 2013/08/23 01:31:38, danakj ...
7 years, 4 months ago (2013-08-23 01:56:10 UTC) #13
sheu
My impression is that most of the complexity hooking up to the compositor we'd have ...
7 years, 4 months ago (2013-08-23 19:34:17 UTC) #14
danakj
On Fri, Aug 23, 2013 at 3:34 PM, <sheu@chromium.org> wrote: > My impression is that ...
7 years, 4 months ago (2013-08-23 20:05:34 UTC) #15
Cris Neckar
https://chromiumcodereview.appspot.com/22935009/diff/66001/content/common/gpu/media/gl_surface_capturer.cc File content/common/gpu/media/gl_surface_capturer.cc (right): https://chromiumcodereview.appspot.com/22935009/diff/66001/content/common/gpu/media/gl_surface_capturer.cc#newcode46 content/common/gpu/media/gl_surface_capturer.cc:46: void GLSurfaceCapturer::NotifyCaptureParameters(const gfx::Size& buffer_size, As discussed over chat you ...
7 years, 4 months ago (2013-08-23 22:29:38 UTC) #16
Pawel Osciak
https://chromiumcodereview.appspot.com/22935009/diff/66001/content/common/gpu/client/command_buffer_proxy_impl.cc File content/common/gpu/client/command_buffer_proxy_impl.cc (right): https://chromiumcodereview.appspot.com/22935009/diff/66001/content/common/gpu/client/command_buffer_proxy_impl.cc#newcode509 content/common/gpu/client/command_buffer_proxy_impl.cc:509: route_id_, &capturer_route_id))) { Indent off? https://chromiumcodereview.appspot.com/22935009/diff/66001/content/common/gpu/gpu_messages.h File content/common/gpu/gpu_messages.h (right): ...
7 years, 4 months ago (2013-08-24 01:29:31 UTC) #17
sheu
https://chromiumcodereview.appspot.com/22935009/diff/66001/content/common/gpu/client/command_buffer_proxy_impl.cc File content/common/gpu/client/command_buffer_proxy_impl.cc (right): https://chromiumcodereview.appspot.com/22935009/diff/66001/content/common/gpu/client/command_buffer_proxy_impl.cc#newcode509 content/common/gpu/client/command_buffer_proxy_impl.cc:509: route_id_, &capturer_route_id))) { On 2013/08/24 01:29:31, posciak wrote: > ...
7 years, 3 months ago (2013-08-26 21:30:51 UTC) #18
Cris Neckar
https://codereview.chromium.org/22935009/diff/66001/content/common/gpu/media/gl_surface_capturer.cc File content/common/gpu/media/gl_surface_capturer.cc (right): https://codereview.chromium.org/22935009/diff/66001/content/common/gpu/media/gl_surface_capturer.cc#newcode46 content/common/gpu/media/gl_surface_capturer.cc:46: void GLSurfaceCapturer::NotifyCaptureParameters(const gfx::Size& buffer_size, On 2013/08/26 21:30:52, sheu wrote: ...
7 years, 3 months ago (2013-08-26 22:33:47 UTC) #19
sheu
On 2013/08/26 22:33:47, Cris Neckar wrote: > https://codereview.chromium.org/22935009/diff/66001/content/common/gpu/media/gl_surface_capturer.cc > File content/common/gpu/media/gl_surface_capturer.cc (right): > > https://codereview.chromium.org/22935009/diff/66001/content/common/gpu/media/gl_surface_capturer.cc#newcode46 ...
7 years, 3 months ago (2013-08-26 22:36:25 UTC) #20
Cris Neckar
nvm I was looking at the wrong version ;) https://codereview.chromium.org/22935009/diff/79001/content/common/gpu/media/gl_surface_capturer.cc File content/common/gpu/media/gl_surface_capturer.cc (right): https://codereview.chromium.org/22935009/diff/79001/content/common/gpu/media/gl_surface_capturer.cc#newcode57 content/common/gpu/media/gl_surface_capturer.cc:57: ...
7 years, 3 months ago (2013-08-26 22:40:02 UTC) #21
sheu
https://chromiumcodereview.appspot.com/22935009/diff/79001/content/common/gpu/media/gl_surface_capturer.cc File content/common/gpu/media/gl_surface_capturer.cc (right): https://chromiumcodereview.appspot.com/22935009/diff/79001/content/common/gpu/media/gl_surface_capturer.cc#newcode57 content/common/gpu/media/gl_surface_capturer.cc:57: if (buffer_size.width() > kMaxCaptureSize || On 2013/08/26 22:40:03, Cris ...
7 years, 3 months ago (2013-08-27 01:20:03 UTC) #22
Cris Neckar
On 2013/08/27 01:20:03, sheu wrote: > https://chromiumcodereview.appspot.com/22935009/diff/79001/content/common/gpu/media/gl_surface_capturer.cc > File content/common/gpu/media/gl_surface_capturer.cc (right): > > https://chromiumcodereview.appspot.com/22935009/diff/79001/content/common/gpu/media/gl_surface_capturer.cc#newcode57 > ...
7 years, 3 months ago (2013-08-27 19:29:57 UTC) #23
sheu
Per discussion with danakj@ and piman@, I've split off the BrowserCompositorOutputSurface* components of this CL. ...
7 years, 3 months ago (2013-08-28 20:21:32 UTC) #24
piman
https://chromiumcodereview.appspot.com/22935009/diff/99001/content/common/gpu/client/gl_surface_capturer_host.cc File content/common/gpu/client/gl_surface_capturer_host.cc (right): https://chromiumcodereview.appspot.com/22935009/diff/99001/content/common/gpu/client/gl_surface_capturer_host.cc#newcode109 content/common/gpu/client/gl_surface_capturer_host.cc:109: client_ = NULL; client_ptr_factory_.InvalidateWeakPtrs() (but see below). https://chromiumcodereview.appspot.com/22935009/diff/99001/content/common/gpu/client/gl_surface_capturer_host.cc#newcode132 content/common/gpu/client/gl_surface_capturer_host.cc:132: ...
7 years, 3 months ago (2013-08-28 21:59:43 UTC) #25
sheu
Updated. Also with a leak fix. piman@: PTAL https://chromiumcodereview.appspot.com/22935009/diff/99001/content/common/gpu/client/gl_surface_capturer_host.cc File content/common/gpu/client/gl_surface_capturer_host.cc (right): https://chromiumcodereview.appspot.com/22935009/diff/99001/content/common/gpu/client/gl_surface_capturer_host.cc#newcode109 content/common/gpu/client/gl_surface_capturer_host.cc:109: client_ ...
7 years, 3 months ago (2013-08-28 22:20:18 UTC) #26
piman
On Wed, Aug 28, 2013 at 3:20 PM, <sheu@chromium.org> wrote: > Updated. Also with a ...
7 years, 3 months ago (2013-08-28 23:20:03 UTC) #27
sheu
On 2013/08/28 23:20:03, piman wrote: > Better safe than sorry. It's not actually being safe ...
7 years, 3 months ago (2013-08-28 23:34:17 UTC) #28
piman
On Wed, Aug 28, 2013 at 4:34 PM, <sheu@chromium.org> wrote: > On 2013/08/28 23:20:03, piman ...
7 years, 3 months ago (2013-08-29 00:19:10 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sheu@chromium.org/22935009/105001
7 years, 3 months ago (2013-08-29 16:18:40 UTC) #30
commit-bot: I haz the power
Failed to apply patch for content/content_common.gypi: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
7 years, 3 months ago (2013-08-29 16:18:54 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sheu@chromium.org/22935009/114001
7 years, 3 months ago (2013-08-29 17:36:16 UTC) #32
commit-bot: I haz the power
Step "update" is always a major failure. Look at the try server FAQ for more ...
7 years, 3 months ago (2013-08-29 17:43:17 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sheu@chromium.org/22935009/114001
7 years, 3 months ago (2013-08-29 19:01:22 UTC) #34
commit-bot: I haz the power
7 years, 3 months ago (2013-08-29 21:14:42 UTC) #35
Message was sent while issue was closed.
Change committed as 220369

Powered by Google App Engine
This is Rietveld 408576698