|
Make VideoCaptureController single-threaded and not ref counted.
Merge Allocate+Start, Stop+DeAllocate.
Move the non-IO thread parts of VideoCaptureController, which were
precisely the VideoCaptureDevice::EventHandler implementation, into a
new class VCC::VideoCaptureDeviceClient, which retains only a WeakPtr
to the VCC.
Change the contract between VideoCaptureDevice and its client so that
(1) The Start+Allocate, and Stop+DeAllocate phases of VCD are merged,
and (2) the VCD owns its EventHandler*; which is to say, the VCD owns
the VideoCaptureDeviceClient.
The merging of the phases is justified because it will eliminate
intermediate states from the 6+ implementations of the
VideoCaptureDevices.
The new VCD::EH ownership model is justified because it will enable
some of the impls (MFWin, desktop capture, and tab capture, at least)
to eliminate locks protecting the EventHandler* from being
synchronously removed at the DeAllocate() step.
Rather than make deep changes to each VCD implementation with this
change, the interface changes to VideoCaptureDevice are effected
through a new shim class, VideoCaptureDevice1, which bridges the old
and new interfaces. Follow-on changes will eliminate this shim class,
one VideoCaptureDevice implementation at a time.
BUG= 285562, 285569
TEST=unittests,basic webcam interaction
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=223307
Total comments: 34
Total comments: 10
Total comments: 5
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+468 lines, -461 lines) |
Patch |
 |
M |
content/browser/renderer_host/media/desktop_capture_device.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/media/video_capture_controller.h
|
View
|
1
2
3
4
5
6
|
7 chunks |
+29 lines, -52 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/media/video_capture_controller.cc
|
View
|
1
2
3
4
5
6
7
8
|
13 chunks |
+143 lines, -87 lines |
3 comments
|
Download
|
 |
M |
content/browser/renderer_host/media/video_capture_controller_unittest.cc
|
View
|
|
14 chunks |
+27 lines, -25 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/media/video_capture_host.h
|
View
|
1
2
3
4
5
6
7
8
|
3 chunks |
+9 lines, -5 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/media/video_capture_host.cc
|
View
|
1
2
3
4
5
6
|
7 chunks |
+15 lines, -28 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/media/video_capture_manager.h
|
View
|
1
2
3
4
5
6
7
8
|
7 chunks |
+17 lines, -19 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/media/video_capture_manager.cc
|
View
|
1
2
3
4
5
6
7
8
|
11 chunks |
+25 lines, -36 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/media/video_capture_manager_unittest.cc
|
View
|
1
2
3
4
5
6
|
1 chunk |
+7 lines, -6 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/media/web_contents_video_capture_device.h
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/media/web_contents_video_capture_device.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/media/web_contents_video_capture_device_unittest.cc
|
View
|
|
3 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
media/media.gyp
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
 |
M |
media/video/capture/android/video_capture_device_android.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
media/video/capture/fake_video_capture_device.h
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
media/video/capture/linux/video_capture_device_linux.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
media/video/capture/mac/video_capture_device_mac.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
media/video/capture/video_capture_device.h
|
View
|
1
2
3
4
5
6
7
8
9
|
5 chunks |
+56 lines, -15 lines |
2 comments
|
Download
|
 |
M |
media/video/capture/video_capture_device.cc
|
View
|
1
2
3
4
5
6
7
8
9
10
|
1 chunk |
+21 lines, -0 lines |
0 comments
|
Download
|
 |
D |
media/video/capture/video_capture_device_dummy.h
|
View
|
|
1 chunk |
+0 lines, -37 lines |
0 comments
|
Download
|
 |
D |
media/video/capture/video_capture_device_dummy.cc
|
View
|
|
1 chunk |
+0 lines, -30 lines |
0 comments
|
Download
|
 |
M |
media/video/capture/video_capture_device_unittest.cc
|
View
|
|
11 chunks |
+105 lines, -105 lines |
0 comments
|
Download
|
 |
M |
media/video/capture/win/video_capture_device_mf_win.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
media/video/capture/win/video_capture_device_win.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
Total messages: 14 (0 generated)
|