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

Issue 11680002: Implement screen capturer for MediaStream API. (Closed)

Created:
7 years, 12 months ago by Sergey Ulanov
Modified:
7 years, 10 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, feature-media-reviews_chromium.org, jam
Visibility:
Public.

Description

Implement Screen Capture adapter for MediaStream API. The new media::ScreenCaptureDevice implements VideoDeviceCapture interface that captures screen content. It will be used to support screen capturing in MediaStream API. BUG=134249 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=180025

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Total comments: 70

Patch Set 5 : #

Patch Set 6 : #

Total comments: 15

Patch Set 7 : #

Patch Set 8 : #

Total comments: 2

Patch Set 9 : #

Total comments: 79

Patch Set 10 : #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+601 lines, -0 lines) Patch
M media/media.gyp View 1 2 3 4 5 6 7 8 2 chunks +3 lines, -0 lines 0 comments Download
A media/video/capture/screen/screen_capture_device.h View 1 2 3 4 5 6 7 8 9 1 chunk +52 lines, -0 lines 0 comments Download
A media/video/capture/screen/screen_capture_device.cc View 1 2 3 4 5 6 7 8 9 1 chunk +378 lines, -0 lines 2 comments Download
A media/video/capture/screen/screen_capture_device_unittest.cc View 1 2 3 4 5 6 7 8 9 1 chunk +168 lines, -0 lines 2 comments Download

Messages

Total messages: 36 (0 generated)
Sergey Ulanov
7 years, 12 months ago (2012-12-26 23:39:21 UTC) #1
PhistucK
On 2012/12/26 23:39:21, sergeyu wrote: The bug link leads to 404.
7 years, 12 months ago (2012-12-27 08:08:58 UTC) #2
Sergey Ulanov
On 2012/12/27 08:08:58, PhistucK wrote: > On 2012/12/26 23:39:21, sergeyu wrote: > > The bug ...
7 years, 12 months ago (2012-12-27 08:35:55 UTC) #3
Sergey Ulanov
ping
7 years, 11 months ago (2013-01-07 20:33:01 UTC) #4
wjia(left Chromium)
Since this will add remoting_screen_capturer under "enable_webrtc", does that module and all its dependencies work ...
7 years, 11 months ago (2013-01-07 22:15:26 UTC) #5
Sergey Ulanov
> Since this will add remoting_screen_capturer under "enable_webrtc", does that > module and all its ...
7 years, 11 months ago (2013-01-09 20:35:30 UTC) #6
Sergey Ulanov
wez: ping
7 years, 11 months ago (2013-01-09 20:35:49 UTC) #7
wjia(left Chromium)
lgtm
7 years, 11 months ago (2013-01-09 23:34:49 UTC) #8
Wez
https://chromiumcodereview.appspot.com/11680002/diff/12012/content/browser/renderer_host/media/screen_capturer.cc File content/browser/renderer_host/media/screen_capturer.cc (right): https://chromiumcodereview.appspot.com/11680002/diff/12012/content/browser/renderer_host/media/screen_capturer.cc#newcode27 content/browser/renderer_host/media/screen_capturer.cc:27: ScreenCapturer::~ScreenCapturer() { If the caller hasn't called DeAllocate then ...
7 years, 11 months ago (2013-01-10 00:58:14 UTC) #9
Sergey Ulanov
https://codereview.chromium.org/11680002/diff/12012/content/browser/renderer_host/media/screen_capturer.cc File content/browser/renderer_host/media/screen_capturer.cc (right): https://codereview.chromium.org/11680002/diff/12012/content/browser/renderer_host/media/screen_capturer.cc#newcode27 content/browser/renderer_host/media/screen_capturer.cc:27: ScreenCapturer::~ScreenCapturer() { On 2013/01/10 00:58:14, Wez wrote: > If ...
7 years, 11 months ago (2013-01-11 23:46:20 UTC) #10
Wez
https://chromiumcodereview.appspot.com/11680002/diff/33001/content/browser/renderer_host/media/screen_capturer.cc File content/browser/renderer_host/media/screen_capturer.cc (right): https://chromiumcodereview.appspot.com/11680002/diff/33001/content/browser/renderer_host/media/screen_capturer.cc#newcode95 content/browser/renderer_host/media/screen_capturer.cc:95: bool capture_task_posted_; nit: capture_pending_ https://chromiumcodereview.appspot.com/11680002/diff/33001/content/browser/renderer_host/media/screen_capturer.cc#newcode99 content/browser/renderer_host/media/screen_capturer.cc:99: bool capture_pending_; nit: ...
7 years, 11 months ago (2013-01-15 06:13:27 UTC) #11
Sergey Ulanov
https://chromiumcodereview.appspot.com/11680002/diff/33001/content/browser/renderer_host/media/screen_capturer.cc File content/browser/renderer_host/media/screen_capturer.cc (right): https://chromiumcodereview.appspot.com/11680002/diff/33001/content/browser/renderer_host/media/screen_capturer.cc#newcode95 content/browser/renderer_host/media/screen_capturer.cc:95: bool capture_task_posted_; On 2013/01/15 06:13:27, Wez wrote: > nit: ...
7 years, 11 months ago (2013-01-15 19:29:18 UTC) #12
Sergey Ulanov
wez: ping
7 years, 11 months ago (2013-01-16 20:47:49 UTC) #13
Wez
lgtm https://chromiumcodereview.appspot.com/11680002/diff/33001/content/browser/renderer_host/media/screen_capturer.cc File content/browser/renderer_host/media/screen_capturer.cc (right): https://chromiumcodereview.appspot.com/11680002/diff/33001/content/browser/renderer_host/media/screen_capturer.cc#newcode145 content/browser/renderer_host/media/screen_capturer.cc:145: base::AutoLock auto_lock(event_handler_lock_); On 2013/01/15 19:29:18, sergeyu wrote: > ...
7 years, 11 months ago (2013-01-16 21:26:45 UTC) #14
Sergey Ulanov
https://chromiumcodereview.appspot.com/11680002/diff/33001/content/browser/renderer_host/media/screen_capturer.cc File content/browser/renderer_host/media/screen_capturer.cc (right): https://chromiumcodereview.appspot.com/11680002/diff/33001/content/browser/renderer_host/media/screen_capturer.cc#newcode327 content/browser/renderer_host/media/screen_capturer.cc:327: // and we rely on it. On 2013/01/16 21:26:45, ...
7 years, 11 months ago (2013-01-17 02:21:17 UTC) #15
Sergey Ulanov
+jam@ for OWNERS review
7 years, 11 months ago (2013-01-17 02:22:35 UTC) #16
jam
https://codereview.chromium.org/11680002/diff/49001/content/browser/renderer_host/media/DEPS File content/browser/renderer_host/media/DEPS (right): https://codereview.chromium.org/11680002/diff/49001/content/browser/renderer_host/media/DEPS#newcode3 content/browser/renderer_host/media/DEPS:3: "+remoting/capturer", remoting is a chrome feature, i.e. it's not ...
7 years, 11 months ago (2013-01-18 02:58:35 UTC) #17
Sergey Ulanov
https://codereview.chromium.org/11680002/diff/49001/content/browser/renderer_host/media/DEPS File content/browser/renderer_host/media/DEPS (right): https://codereview.chromium.org/11680002/diff/49001/content/browser/renderer_host/media/DEPS#newcode3 content/browser/renderer_host/media/DEPS:3: "+remoting/capturer", On 2013/01/18 02:58:35, John Abd-El-Malek wrote: > remoting ...
7 years, 11 months ago (2013-01-18 18:39:04 UTC) #18
jam
On 2013/01/18 18:39:04, sergeyu wrote: > https://codereview.chromium.org/11680002/diff/49001/content/browser/renderer_host/media/DEPS > File content/browser/renderer_host/media/DEPS (right): > > https://codereview.chromium.org/11680002/diff/49001/content/browser/renderer_host/media/DEPS#newcode3 > ...
7 years, 11 months ago (2013-01-18 22:28:45 UTC) #19
Sergey Ulanov
On 2013/01/18 22:28:45, John Abd-El-Malek wrote: > On 2013/01/18 18:39:04, sergeyu wrote: > > > ...
7 years, 11 months ago (2013-01-18 22:55:43 UTC) #20
jam
On 2013/01/18 22:55:43, sergeyu wrote: > On 2013/01/18 22:28:45, John Abd-El-Malek wrote: > > On ...
7 years, 11 months ago (2013-01-22 06:57:07 UTC) #21
Sergey Ulanov
On Mon, Jan 21, 2013 at 10:57 PM, <jam@chromium.org> wrote: > On 2013/01/18 22:55:43, sergeyu ...
7 years, 11 months ago (2013-01-22 22:08:22 UTC) #22
Sergey Ulanov
jam: ping
7 years, 11 months ago (2013-01-23 21:36:06 UTC) #23
jam
On 2013/01/22 22:08:22, sergeyu wrote: > On Mon, Jan 21, 2013 at 10:57 PM, <mailto:jam@chromium.org> ...
7 years, 11 months ago (2013-01-23 21:59:05 UTC) #24
Sergey Ulanov
+scherkus: Andrew, please approve media.gyp changes. wez: PTAL. I moved screen capturers to src/media, so ...
7 years, 10 months ago (2013-01-29 19:43:50 UTC) #25
scherkus (not reviewing)
On 2013/01/29 19:43:50, sergeyu wrote: > +scherkus: Andrew, please approve media.gyp changes. > wez: PTAL. ...
7 years, 10 months ago (2013-01-30 07:05:33 UTC) #26
Sergey Ulanov
wez: ping
7 years, 10 months ago (2013-01-30 21:19:58 UTC) #27
Wez
Apologies for the delay. https://chromiumcodereview.appspot.com/11680002/diff/61001/media/video/capture/screen/screen_capture_device.cc File media/video/capture/screen/screen_capture_device.cc (right): https://chromiumcodereview.appspot.com/11680002/diff/61001/media/video/capture/screen/screen_capture_device.cc#newcode1 media/video/capture/screen/screen_capture_device.cc:1: // Copyright (c) 2012 The ...
7 years, 10 months ago (2013-01-31 00:15:29 UTC) #28
Sergey Ulanov
https://chromiumcodereview.appspot.com/11680002/diff/61001/media/video/capture/screen/screen_capture_device.cc File media/video/capture/screen/screen_capture_device.cc (right): https://chromiumcodereview.appspot.com/11680002/diff/61001/media/video/capture/screen/screen_capture_device.cc#newcode1 media/video/capture/screen/screen_capture_device.cc:1: // Copyright (c) 2012 The Chromium Authors. All rights ...
7 years, 10 months ago (2013-01-31 02:05:43 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sergeyu@chromium.org/11680002/68001
7 years, 10 months ago (2013-01-31 19:08:00 UTC) #30
commit-bot: I haz the power
Retried try job too often on mac_rel for step(s) browser_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=mac_rel&number=94951
7 years, 10 months ago (2013-01-31 21:14:21 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sergeyu@chromium.org/11680002/68001
7 years, 10 months ago (2013-01-31 22:56:14 UTC) #32
Wez
LGTM w/ a few remaining nits. https://chromiumcodereview.appspot.com/11680002/diff/61001/media/video/capture/screen/screen_capture_device.cc File media/video/capture/screen/screen_capture_device.cc (right): https://chromiumcodereview.appspot.com/11680002/diff/61001/media/video/capture/screen/screen_capture_device.cc#newcode35 media/video/capture/screen/screen_capture_device.cc:35: void Allocate(int width, ...
7 years, 10 months ago (2013-02-01 00:44:34 UTC) #33
commit-bot: I haz the power
Change committed as 180025
7 years, 10 months ago (2013-02-01 01:11:22 UTC) #34
Sergey Ulanov
https://chromiumcodereview.appspot.com/11680002/diff/61001/media/video/capture/screen/screen_capture_device.cc File media/video/capture/screen/screen_capture_device.cc (right): https://chromiumcodereview.appspot.com/11680002/diff/61001/media/video/capture/screen/screen_capture_device.cc#newcode269 media/video/capture/screen/screen_capture_device.cc:269: video_frame_capturer_->Start(this); On 2013/02/01 00:44:34, Wez wrote: > On 2013/01/31 ...
7 years, 10 months ago (2013-02-01 02:02:26 UTC) #35
Wez
7 years, 10 months ago (2013-02-02 00:19:56 UTC) #36
Message was sent while issue was closed.
https://chromiumcodereview.appspot.com/11680002/diff/61001/media/video/captur...
File media/video/capture/screen/screen_capture_device.cc (right):

https://chromiumcodereview.appspot.com/11680002/diff/61001/media/video/captur...
media/video/capture/screen/screen_capture_device.cc:269:
video_frame_capturer_->Start(this);
On 2013/02/01 02:02:26, sergeyu wrote:
> On 2013/02/01 00:44:34, Wez wrote:
> > On 2013/01/31 02:05:43, sergeyu wrote:
> > > On 2013/01/31 00:15:29, Wez wrote:
> > > > Why are we not Start()ing and Stop()ing in DoStart()/DoStop()?  Staying
> > > started
> > > > when the consumer isn't actually interested in the data may be
expensive,
> so
> > > we
> > > > shouldn't do so unless it's necessary to provide the desired semantics.
> > > 
> > > because we need to capture first frame to get screen size and invoke
> > > OnFrameInfo(). There is a comment about it two lines below.
> > 
> > Good point!  Can we post a task here to Stop the underlying capturer after,
> say,
> > a second if the ScreenCaptureDevice isn't Start()ed by then, and then have
> > Start() and Stop() call through the underlying capturer?
> 
> We could, but it won't make any difference. Stop() doesn't really do anything.
> Screen capturer don't actually do anything between Start() and Stop() unless
> CaptureFrame() is called. We should just remove these methods from
> ScreenCapturer

SGTM.

Powered by Google App Engine
This is Rietveld 408576698