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

Issue 129923002: Implements MediaStreamVideoSource. (Closed)

Created:
6 years, 11 months ago by Ronghua Wu (Left Chromium)
Modified:
6 years, 11 months ago
CC:
chromium-reviews, fischman+watch_chromium.org, jam, mcasas+watch_chromium.org, joi+watch-content_chromium.org, feature-media-reviews_chromium.org, darin-cc_chromium.org, wjia+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Implements MediaStreamVideoSource. 1) Add MediaStreamDependencyFactory::CreateVideoSource to create a webrtc::VideoSourceInterface that's associated with given capturer. 2) Implement MediaStreamVideoSource: * Creates a webrtc::VideoSource instance with a fake cricket::VideoCapturer. Use this webrtc::VideoSource as the adapter to talk to the libjingle world. * When AddTrack is called, creates native track for the given blink track. And connect the native track with the webrtc::VideoSource so that the track can get frames from this source. * When DeliverVideoFrame is called, feeds the frame to all the registered tracks via the adapter (webrtc::VideoSource)'s FrameInput interface. BUG=334241 R=joi@chromium.org, perkj@chromium.org, xians@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=245001

Patch Set 1 #

Patch Set 2 : #

Total comments: 9

Patch Set 3 : replace webrtc_video_source with webrtc::VideoSource #

Patch Set 4 : One adapter for all tracks. #

Patch Set 5 : #

Patch Set 6 : add MediaStreamDependencyFactory::CreateMediaStreamVideoTrack #

Patch Set 7 : #

Total comments: 11

Patch Set 8 : Address per's comments. #

Patch Set 9 : #

Patch Set 10 : #

Total comments: 17

Patch Set 11 : address per's comments #

Patch Set 12 : refine test #

Patch Set 13 : #

Total comments: 4

Patch Set 14 : per's comments and fix the build #

Total comments: 16

Patch Set 15 : addressing more comments #

Patch Set 16 : #

Patch Set 17 : Implements MediaStreamVideoSource. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+219 lines, -24 lines) Patch
M content/renderer/media/media_stream_dependency_factory.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +7 lines, -0 lines 0 comments Download
M content/renderer/media/media_stream_dependency_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +11 lines, -2 lines 0 comments Download
M content/renderer/media/media_stream_video_source.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +33 lines, -3 lines 0 comments Download
M content/renderer/media/media_stream_video_source.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +53 lines, -7 lines 0 comments Download
M content/renderer/media/media_stream_video_source_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +60 lines, -10 lines 0 comments Download
M content/renderer/media/mock_media_stream_dependency_factory.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +28 lines, -0 lines 0 comments Download
M content/renderer/media/mock_media_stream_dependency_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +27 lines, -2 lines 0 comments Download

Messages

Total messages: 26 (0 generated)
Ronghua Wu (Left Chromium)
WIP, not ready for reviewing yet. Will let you know once ready.
6 years, 11 months ago (2014-01-09 00:11:17 UTC) #1
Jói
I didn't review in detail, these are just a couple of nits that I noticed ...
6 years, 11 months ago (2014-01-09 11:18:12 UTC) #2
Peng
I am not familiar with webrtc. Forgive me if my questions are silly. https://codereview.chromium.org/129923002/diff/40001/content/renderer/media/media_stream_video_source.cc File ...
6 years, 11 months ago (2014-01-09 15:32:55 UTC) #3
Ronghua Wu (Left Chromium)
https://codereview.chromium.org/129923002/diff/40001/content/renderer/media/media_stream_video_source.cc File content/renderer/media/media_stream_video_source.cc (right): https://codereview.chromium.org/129923002/diff/40001/content/renderer/media/media_stream_video_source.cc#newcode16 content/renderer/media/media_stream_video_source.cc:16: const blink::WebMediaStreamTrack& track, On 2014/01/09 15:32:55, Peng wrote: > ...
6 years, 11 months ago (2014-01-09 16:50:05 UTC) #4
Peng
https://codereview.chromium.org/129923002/diff/40001/content/renderer/media/media_stream_video_source.cc File content/renderer/media/media_stream_video_source.cc (right): https://codereview.chromium.org/129923002/diff/40001/content/renderer/media/media_stream_video_source.cc#newcode16 content/renderer/media/media_stream_video_source.cc:16: const blink::WebMediaStreamTrack& track, On 2014/01/09 16:50:06, Ronghua Wu wrote: ...
6 years, 11 months ago (2014-01-09 19:29:46 UTC) #5
Ronghua Wu (Left Chromium)
On 2014/01/09 19:29:46, Peng wrote: > https://codereview.chromium.org/129923002/diff/40001/content/renderer/media/media_stream_video_source.cc > File content/renderer/media/media_stream_video_source.cc (right): > > https://codereview.chromium.org/129923002/diff/40001/content/renderer/media/media_stream_video_source.cc#newcode16 > ...
6 years, 11 months ago (2014-01-09 21:24:53 UTC) #6
Ronghua Wu (Left Chromium)
Updated the cl after discussing with Per. See the updated cl description for detail. Also ...
6 years, 11 months ago (2014-01-10 06:25:33 UTC) #7
perkj_chrome
Hej- I took some of your ideas from this an encapsulated them in https://codereview.chromium.org/131763002/. My ...
6 years, 11 months ago (2014-01-10 13:06:59 UTC) #8
Ronghua Wu (Left Chromium)
Regarding to your comment "create a new implementation of a MediaStreamVideoSource what suites your needs". ...
6 years, 11 months ago (2014-01-11 01:22:58 UTC) #9
Ronghua Wu (Left Chromium)
Per, this is now updated based on our discussion and your latest cl. 1) I ...
6 years, 11 months ago (2014-01-14 01:42:50 UTC) #10
perkj_chrome
https://codereview.chromium.org/129923002/diff/350001/content/renderer/media/media_stream_video_source.cc File content/renderer/media/media_stream_video_source.cc (right): https://codereview.chromium.org/129923002/diff/350001/content/renderer/media/media_stream_video_source.cc#newcode9 content/renderer/media/media_stream_video_source.cc:9: #include "content/renderer/media/media_stream_source_extra_data.h" media_stream_source_extra_data.h is not needed here. Its needed ...
6 years, 11 months ago (2014-01-14 08:29:09 UTC) #11
Ronghua Wu (Left Chromium)
Thanks Per! All done. Peng, please have a look also especially the media_stream_video_source_unittest.cc where you ...
6 years, 11 months ago (2014-01-14 19:42:10 UTC) #12
perkj_chrome
lgtm with the following nits. also - the destructor of the test source need to ...
6 years, 11 months ago (2014-01-14 20:12:24 UTC) #13
Ronghua Wu (Left Chromium)
Thanks Per. https://codereview.chromium.org/129923002/diff/550001/content/renderer/media/media_stream_video_source.h File content/renderer/media/media_stream_video_source.h (right): https://codereview.chromium.org/129923002/diff/550001/content/renderer/media/media_stream_video_source.h#newcode47 content/renderer/media/media_stream_video_source.h:47: void SetAdapter(webrtc::VideoSourceInterface* adapter) { On 2014/01/14 20:12:25, ...
6 years, 11 months ago (2014-01-14 22:52:43 UTC) #14
Ronghua Wu (Left Chromium)
+Shijing for reviewing and owner approval. We will need something similar for audio as well.
6 years, 11 months ago (2014-01-15 00:03:02 UTC) #15
perkj_chrome
On 2014/01/15 00:03:02, Ronghua Wu wrote: > +Shijing for reviewing and owner approval. We will ...
6 years, 11 months ago (2014-01-15 15:49:36 UTC) #16
no longer working on chromium
I am not familiar with the video code, so I only did some sanity check ...
6 years, 11 months ago (2014-01-15 15:57:22 UTC) #17
perkj_chrome
https://codereview.chromium.org/129923002/diff/740001/content/renderer/media/media_stream_dependency_factory.cc File content/renderer/media/media_stream_dependency_factory.cc (right): https://codereview.chromium.org/129923002/diff/740001/content/renderer/media/media_stream_dependency_factory.cc#newcode619 content/renderer/media/media_stream_dependency_factory.cc:619: scoped_refptr<webrtc::VideoSourceInterface> source = I just realized that you probably ...
6 years, 11 months ago (2014-01-15 16:24:53 UTC) #18
Jói
I have very little to add, Per is the expert here. LGTM once Per is ...
6 years, 11 months ago (2014-01-15 16:37:04 UTC) #19
Ronghua Wu (Left Chromium)
Thanks for comments. PTAL. https://codereview.chromium.org/129923002/diff/740001/content/renderer/media/media_stream_dependency_factory.cc File content/renderer/media/media_stream_dependency_factory.cc (right): https://codereview.chromium.org/129923002/diff/740001/content/renderer/media/media_stream_dependency_factory.cc#newcode618 content/renderer/media/media_stream_dependency_factory.cc:618: // The video source takes ...
6 years, 11 months ago (2014-01-15 18:38:58 UTC) #20
no longer working on chromium
lgtm
6 years, 11 months ago (2014-01-15 18:41:50 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/ronghuawu@chromium.org/129923002/1020001
6 years, 11 months ago (2014-01-15 18:53:07 UTC) #22
commit-bot: I haz the power
Commit queue rejected this change because the description was changed between the time the change ...
6 years, 11 months ago (2014-01-15 22:23:30 UTC) #23
Ronghua Wu (Left Chromium)
Implements MediaStreamVideoSource. 1) Add MediaStreamDependencyFactory::CreateVideoSource to create a webrtc::VideoSourceInterface that's associated with given capturer. 2) ...
6 years, 11 months ago (2014-01-15 22:35:47 UTC) #24
Ronghua Wu (Left Chromium)
Rebased and will commit.
6 years, 11 months ago (2014-01-15 22:37:51 UTC) #25
Ronghua Wu (Left Chromium)
6 years, 11 months ago (2014-01-15 22:47:27 UTC) #26
Message was sent while issue was closed.
Committed patchset #17 manually as r245001 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698