Descriptionenable video capture to support sharing across multiple renderer processes
To facilitate code review, this patch has been split into http://codereview.chromium.org/8400084/ for renderer process part, and http://codereview.chromium.org/8417046/ for browser process part.
1. VideoCaptureController is owned by VideoCaptureManager.
2. VideoCaptureHost obtains an instance of controller from manager.
3. Each renderer process has only one VC to serve multiple clients, while it is a client of browser process VC.
4. The largest resolution is used for the device capturing. Clients should expect frame buffers with larger resolution that they requsted. All cropping/resampling is done by clients.
5. Frame buffers are shared between renderer processes and browser process. The buffer received by clients are shared buffers. Clients are recommended to copy pixel data into their local storage. A client can slow down capture frame rate if it returns buffers slowly.
6. This patch only supported default device. More change in media stream is needed to support user selected device. That will be a different patch.
Patch Set 1 #Patch Set 2 : '' #Patch Set 3 : '' #
Total comments: 38
Patch Set 4 : '' #Patch Set 5 : add missing file #Patch Set 6 : '' #
Total comments: 30
Patch Set 7 : code review #
Total comments: 19
Patch Set 8 : '' #
Total comments: 10
Patch Set 9 : remove state function from device; use currect requested params instead of frame_info #Patch Set 10 : rebase #
Total comments: 20
Patch Set 11 : code review; VCImpl uses largest request, instead of device_info #Patch Set 12 : '' #Messages
Total messages: 16 (0 generated)
|