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

Issue 270263008: Add a ChromeOS implementation of VideoCaptureDevice (Closed)

Created:
6 years, 7 months ago by Zachary Kuznia
Modified:
4 years, 4 months ago
CC:
chromium-reviews, yusukes+watch_chromium.org, nona+watch_chromium.org, fischman+watch_chromium.org, jam, mcasas+watch_chromium.org, yukishiino+watch_chromium.org, penghuang+watch_chromium.org, feature-media-reviews_chromium.org, darin-cc_chromium.org, James Su, wjia+watch_chromium.org, miu+watch_chromium.org, vrk (LEFT CHROMIUM)
Visibility:
Public.

Description

Add a ChromeOS implementation of VideoCaptureDevice that is aware of the rotation of the internal display, and updates the rotation of captured frames to match. BUG=360048 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=271560

Patch Set 1 #

Total comments: 6

Patch Set 2 : Code review fixes #

Patch Set 3 : Make MediaStreamManager observe the display directly #

Patch Set 4 : Rebase #

Total comments: 12

Patch Set 5 : Code review fixes #

Patch Set 6 : Move implementation to VideoCaptureDeviceLinux #

Patch Set 7 : Rebase #

Total comments: 6

Patch Set 8 : Create a video capture device for ChromeOS #

Patch Set 9 : Fix a nit #

Total comments: 18

Patch Set 10 : Code review fixes #

Total comments: 11

Patch Set 11 : Code review fixes #

Total comments: 25

Patch Set 12 : Code review fixes #

Patch Set 13 : Send the UI task runner from content into media #

Patch Set 14 : Rebase #

Patch Set 15 : Fix mac #

Patch Set 16 : Rebase #

Patch Set 17 : Rebase #

Patch Set 18 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+250 lines, -19 lines) Patch
M content/browser/renderer_host/media/video_capture_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +3 lines, -1 line 0 comments Download
M media/media.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +2 lines, -0 lines 0 comments Download
M media/video/capture/android/video_capture_device_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +3 lines, -1 line 0 comments Download
M media/video/capture/android/video_capture_device_factory_android.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -0 lines 0 comments Download
M media/video/capture/android/video_capture_device_factory_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -0 lines 0 comments Download
M media/video/capture/fake_video_capture_device_factory.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M media/video/capture/fake_video_capture_device_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M media/video/capture/fake_video_capture_device_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +4 lines, -2 lines 0 comments Download
M media/video/capture/file_video_capture_device_factory.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M media/video/capture/file_video_capture_device_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
A media/video/capture/linux/video_capture_device_chromeos.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +37 lines, -0 lines 0 comments Download
A media/video/capture/linux/video_capture_device_chromeos.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +112 lines, -0 lines 0 comments Download
M media/video/capture/linux/video_capture_device_factory_linux.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -0 lines 0 comments Download
M media/video/capture/linux/video_capture_device_factory_linux.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +9 lines, -0 lines 0 comments Download
M media/video/capture/linux/video_capture_device_linux.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +11 lines, -0 lines 0 comments Download
M media/video/capture/linux/video_capture_device_linux.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 4 chunks +26 lines, -3 lines 0 comments Download
M media/video/capture/mac/video_capture_device_factory_mac.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M media/video/capture/mac/video_capture_device_factory_mac.mm View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +1 line, -0 lines 0 comments Download
M media/video/capture/mac/video_capture_device_mac.mm View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +3 lines, -1 line 0 comments Download
M media/video/capture/video_capture_device.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +4 lines, -1 line 0 comments Download
M media/video/capture/video_capture_device_factory.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download
M media/video/capture/video_capture_device_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +5 lines, -1 line 0 comments Download
M media/video/capture/video_capture_device_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 9 chunks +18 lines, -8 lines 0 comments Download
M media/video/capture/win/video_capture_device_win.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +3 lines, -1 line 0 comments Download

Messages

Total messages: 39 (0 generated)
Zachary Kuznia
Please take a look. Thanks, -Zach
6 years, 7 months ago (2014-05-08 21:17:03 UTC) #1
vrk (LEFT CHROMIUM)
lgtm https://codereview.chromium.org/270263008/diff/1/content/browser/renderer_host/media/video_capture_controller.h File content/browser/renderer_host/media/video_capture_controller.h (right): https://codereview.chromium.org/270263008/diff/1/content/browser/renderer_host/media/video_capture_controller.h#newcode73 content/browser/renderer_host/media/video_capture_controller.h:73: void SetDisplayRotation(gfx::Display::Rotation rotation) { nit: this should be ...
6 years, 7 months ago (2014-05-08 21:43:33 UTC) #2
Zachary Kuznia
https://codereview.chromium.org/270263008/diff/1/content/browser/renderer_host/media/video_capture_controller.h File content/browser/renderer_host/media/video_capture_controller.h (right): https://codereview.chromium.org/270263008/diff/1/content/browser/renderer_host/media/video_capture_controller.h#newcode73 content/browser/renderer_host/media/video_capture_controller.h:73: void SetDisplayRotation(gfx::Display::Rotation rotation) { On 2014/05/08 21:43:34, Victoria Kirst ...
6 years, 7 months ago (2014-05-08 21:51:22 UTC) #3
vrk (LEFT CHROMIUM)
not lgtm Zach's updated the code since my initial review, and I think now I ...
6 years, 7 months ago (2014-05-09 01:11:31 UTC) #4
Zachary Kuznia
https://codereview.chromium.org/270263008/diff/50001/content/browser/renderer_host/media/media_stream_manager.cc File content/browser/renderer_host/media/media_stream_manager.cc (right): https://codereview.chromium.org/270263008/diff/50001/content/browser/renderer_host/media/media_stream_manager.cc#newcode460 content/browser/renderer_host/media/media_stream_manager.cc:460: if (!observing_screen_) { On 2014/05/09 01:11:31, Victoria Kirst wrote: ...
6 years, 7 months ago (2014-05-09 07:42:21 UTC) #5
perkj_chrome
Discussed off line- Will try to move this to the VideoCaptuereDeviceLinux to work similar to ...
6 years, 7 months ago (2014-05-09 08:28:11 UTC) #6
Zachary Kuznia
Moved the implementation to VideoCaptureDeviceLinux.
6 years, 7 months ago (2014-05-09 09:55:37 UTC) #7
perkj_chrome
Much better I think. https://codereview.chromium.org/270263008/diff/110001/media/video/capture/linux/video_capture_device_linux.cc File media/video/capture/linux/video_capture_device_linux.cc (right): https://codereview.chromium.org/270263008/diff/110001/media/video/capture/linux/video_capture_device_linux.cc#newcode277 media/video/capture/linux/video_capture_device_linux.cc:277: gfx::Screen* screen = This will ...
6 years, 7 months ago (2014-05-09 10:11:27 UTC) #8
perkj_chrome
6 years, 7 months ago (2014-05-09 10:13:44 UTC) #9
perkj_chrome
Adding Miguel as well. He as actually worked on this code lately... https://codereview.chromium.org/270263008/diff/110001/media/video/capture/linux/video_capture_device_linux.cc File media/video/capture/linux/video_capture_device_linux.cc ...
6 years, 7 months ago (2014-05-09 10:18:51 UTC) #10
perkj_chrome
https://codereview.chromium.org/270263008/diff/110001/media/video/capture/linux/video_capture_device_linux.cc File media/video/capture/linux/video_capture_device_linux.cc (right): https://codereview.chromium.org/270263008/diff/110001/media/video/capture/linux/video_capture_device_linux.cc#newcode332 media/video/capture/linux/video_capture_device_linux.cc:332: v4l2_thread_.message_loop()->PostTask( oh- btw - this need a thread check ...
6 years, 7 months ago (2014-05-09 10:28:43 UTC) #11
mcasas
I don't fully agree with the approach here based on the fact that we'd be ...
6 years, 7 months ago (2014-05-09 10:32:16 UTC) #12
Zachary Kuznia
On 2014/05/09 10:32:16, mcasas wrote: > I don't fully agree with the approach here based ...
6 years, 7 months ago (2014-05-09 22:04:51 UTC) #13
mcasas
On 2014/05/09 22:04:51, Zachary Kuznia wrote: > On 2014/05/09 10:32:16, mcasas wrote: > > I ...
6 years, 7 months ago (2014-05-10 10:12:30 UTC) #14
Zachary Kuznia
On 2014/05/10 10:12:30, mcasas wrote: > On 2014/05/09 22:04:51, Zachary Kuznia wrote: > > On ...
6 years, 7 months ago (2014-05-10 13:58:36 UTC) #15
mcasas
On 2014/05/10 13:58:36, Zachary Kuznia wrote: > On 2014/05/10 10:12:30, mcasas wrote: > > On ...
6 years, 7 months ago (2014-05-11 17:50:33 UTC) #16
mcasas
On 2014/05/11 17:50:33, mcasas wrote: > On 2014/05/10 13:58:36, Zachary Kuznia wrote: > > On ...
6 years, 7 months ago (2014-05-11 17:56:25 UTC) #17
mcasas
Almost there, looking good. https://codereview.chromium.org/270263008/diff/150001/media/video/capture/linux/video_capture_device_chromeos.cc File media/video/capture/linux/video_capture_device_chromeos.cc (right): https://codereview.chromium.org/270263008/diff/150001/media/video/capture/linux/video_capture_device_chromeos.cc#newcode40 media/video/capture/linux/video_capture_device_chromeos.cc:40: friend class base::RefCountedThreadSafe<ScreenObserverDelegate>; According to ...
6 years, 7 months ago (2014-05-11 18:41:24 UTC) #18
Zachary Kuznia
https://codereview.chromium.org/270263008/diff/150001/media/video/capture/linux/video_capture_device_chromeos.cc File media/video/capture/linux/video_capture_device_chromeos.cc (right): https://codereview.chromium.org/270263008/diff/150001/media/video/capture/linux/video_capture_device_chromeos.cc#newcode40 media/video/capture/linux/video_capture_device_chromeos.cc:40: friend class base::RefCountedThreadSafe<ScreenObserverDelegate>; On 2014/05/11 18:41:25, mcasas wrote: > ...
6 years, 7 months ago (2014-05-12 02:54:17 UTC) #19
mcasas
LGTM pending either perkj@ or tommi@ review.
6 years, 7 months ago (2014-05-12 06:29:38 UTC) #20
mcasas
On 2014/05/12 06:29:38, mcasas wrote: > LGTM pending either perkj@ or tommi@ review. nit: please ...
6 years, 7 months ago (2014-05-12 07:42:43 UTC) #21
perkj_chrome
lgtm provides the below comments are addressed. https://codereview.chromium.org/270263008/diff/170001/media/video/capture/linux/video_capture_device_chromeos.cc File media/video/capture/linux/video_capture_device_chromeos.cc (right): https://codereview.chromium.org/270263008/diff/170001/media/video/capture/linux/video_capture_device_chromeos.cc#newcode29 media/video/capture/linux/video_capture_device_chromeos.cc:29: void RemoveObserver() ...
6 years, 7 months ago (2014-05-12 07:57:12 UTC) #22
Zachary Kuznia
https://codereview.chromium.org/270263008/diff/170001/media/video/capture/linux/video_capture_device_chromeos.cc File media/video/capture/linux/video_capture_device_chromeos.cc (right): https://codereview.chromium.org/270263008/diff/170001/media/video/capture/linux/video_capture_device_chromeos.cc#newcode29 media/video/capture/linux/video_capture_device_chromeos.cc:29: void RemoveObserver() { On 2014/05/12 07:57:13, perkj wrote: > ...
6 years, 7 months ago (2014-05-12 08:56:21 UTC) #23
perkj_chrome
https://codereview.chromium.org/270263008/diff/170001/media/video/capture/linux/video_capture_device_chromeos.cc File media/video/capture/linux/video_capture_device_chromeos.cc (right): https://codereview.chromium.org/270263008/diff/170001/media/video/capture/linux/video_capture_device_chromeos.cc#newcode79 media/video/capture/linux/video_capture_device_chromeos.cc:79: base::MessageLoop* capture_thread_loop_; On 2014/05/12 08:56:22, Zachary Kuznia wrote: > ...
6 years, 7 months ago (2014-05-13 09:46:37 UTC) #24
tommi (sloooow) - chröme
looks good for the most part. Some questions and minor comments. https://codereview.chromium.org/270263008/diff/190001/media/video/capture/linux/video_capture_device_chromeos.cc File media/video/capture/linux/video_capture_device_chromeos.cc (right): ...
6 years, 7 months ago (2014-05-13 11:02:50 UTC) #25
Zachary Kuznia
https://codereview.chromium.org/270263008/diff/190001/media/video/capture/linux/video_capture_device_chromeos.cc File media/video/capture/linux/video_capture_device_chromeos.cc (right): https://codereview.chromium.org/270263008/diff/190001/media/video/capture/linux/video_capture_device_chromeos.cc#newcode25 media/video/capture/linux/video_capture_device_chromeos.cc:25: FROM_HERE, On 2014/05/13 09:46:40, perkj wrote: > nit: indentation ...
6 years, 7 months ago (2014-05-13 13:54:28 UTC) #26
tommi (sloooow) - chröme
lgtm with the below change https://codereview.chromium.org/270263008/diff/190001/media/video/capture/linux/video_capture_device_chromeos.cc File media/video/capture/linux/video_capture_device_chromeos.cc (right): https://codereview.chromium.org/270263008/diff/190001/media/video/capture/linux/video_capture_device_chromeos.cc#newcode81 media/video/capture/linux/video_capture_device_chromeos.cc:81: base::MessageLoop* capture_thread_loop_; On 2014/05/13 ...
6 years, 7 months ago (2014-05-13 14:35:16 UTC) #27
Zachary Kuznia
Hi John, I've updated the CL to inject the UI message loop from content as ...
6 years, 7 months ago (2014-05-14 18:24:14 UTC) #28
jam
content lgtm
6 years, 7 months ago (2014-05-14 23:54:38 UTC) #29
Zachary Kuznia
The CQ bit was checked by zork@chromium.org
6 years, 7 months ago (2014-05-18 02:43:13 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/zork@chromium.org/270263008/310001
6 years, 7 months ago (2014-05-18 02:43:55 UTC) #31
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 7 months ago (2014-05-18 02:44:00 UTC) #32
commit-bot: I haz the power
A disapproval has been posted by following reviewers: vrk@chromium.org. Please make sure to get positive ...
6 years, 7 months ago (2014-05-18 02:44:01 UTC) #33
Zachary Kuznia
vrk@: Could you take another look at this? Thanks, -Zach
6 years, 7 months ago (2014-05-19 14:06:41 UTC) #34
vrk (LEFT CHROMIUM)
lgtm Sorry about that!
6 years, 7 months ago (2014-05-19 20:28:20 UTC) #35
Zachary Kuznia
The CQ bit was checked by zork@chromium.org
6 years, 7 months ago (2014-05-19 20:56:25 UTC) #36
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/zork@chromium.org/270263008/330001
6 years, 7 months ago (2014-05-19 20:57:28 UTC) #37
commit-bot: I haz the power
FYI, CQ is re-trying this CL (attempt #1). Please consider checking whether the failures are ...
6 years, 7 months ago (2014-05-20 01:08:05 UTC) #38
commit-bot: I haz the power
6 years, 7 months ago (2014-05-20 04:06:56 UTC) #39
Message was sent while issue was closed.
Change committed as 271560

Powered by Google App Engine
This is Rietveld 408576698