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

Issue 183113004: Make sure MediaStreamVideoSource support cropping. (Closed)

Created:
6 years, 9 months ago by perkj_chrome
Modified:
6 years, 9 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
Visibility:
Public.

Description

Make sure MediaStreamVideoSource support cropping. Currently cropping is done for Chrome in libjingle. But as part of project Piranha plant we want to make sure local MediaStreamVideoTracks do not depend on libjingle and that the implementation is on par with what libjingle supports. This cl creates a new wrapped media::VideoFrame with a changed view_rect when cropping is needed. When the frame is provided to a PeerConnection via WebRtcVideoCapturerAdapter the frame is copied using libyuv to a tightly packed frame. Note that libyuv is already used in libjingle from the render process and is used by Chrome in the browser process. BUG=334241, 349450 TBR Jam for content_tests.gypi change. R=joi@chromium.org, mflodman@chromium.org, tommi@chromium.org TBR=jam Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=255573

Patch Set 1 #

Total comments: 14

Patch Set 2 : Addressed review comments. #

Patch Set 3 : Fix formatting and lint. #

Patch Set 4 : Fixed unittest #

Patch Set 5 : Move usage of libyuv to webrtc adapter. #

Patch Set 6 : Implement cropping using media::VideoFrame::view_rect() #

Total comments: 2

Patch Set 7 : Crop with origin 0,0 and temporary disable failing test. #

Total comments: 63

Patch Set 8 : Addressed code review. #

Total comments: 8

Patch Set 9 : Addressed review comments. #

Patch Set 10 : And fixed a mistake in new GetConstraintValue #

Total comments: 1

Patch Set 11 : Rebased #

Patch Set 12 : Removed extra spaces in content_unittests #

Unified diffs Side-by-side diffs Delta from patch set Stats (+379 lines, -48 lines) Patch
M content/browser/media/webrtc_getusermedia_browsertest.cc View 1 2 3 4 5 6 7 8 1 chunk +15 lines, -3 lines 0 comments Download
M content/content_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/media/media_stream_video_source.h View 1 2 3 4 3 chunks +5 lines, -1 line 0 comments Download
M content/renderer/media/media_stream_video_source.cc View 1 2 3 4 5 6 7 8 9 11 chunks +125 lines, -28 lines 0 comments Download
M content/renderer/media/media_stream_video_source_unittest.cc View 1 2 3 4 5 6 7 8 3 chunks +70 lines, -2 lines 0 comments Download
M content/renderer/media/mock_media_stream_dependency_factory.cc View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
A + content/renderer/media/webrtc/DEPS View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M content/renderer/media/webrtc/webrtc_video_capturer_adapter.h View 1 2 3 4 5 6 7 2 chunks +10 lines, -0 lines 0 comments Download
M content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc View 1 2 3 4 5 6 7 2 chunks +83 lines, -10 lines 0 comments Download
A content/renderer/media/webrtc/webrtc_video_capturer_adapter_unittest.cc View 1 2 3 4 5 6 7 1 chunk +66 lines, -0 lines 0 comments Download

Messages

Total messages: 23 (0 generated)
perkj_chrome
6 years, 9 months ago (2014-02-27 14:14:44 UTC) #1
perkj_chrome
https://codereview.chromium.org/183113004/diff/1/media/base/video_frame_pool.cc File media/base/video_frame_pool.cc (right): https://codereview.chromium.org/183113004/diff/1/media/base/video_frame_pool.cc#newcode78 media/base/video_frame_pool.cc:78: frame->SetTimestamp(timestamp); Note - this change will be landed in ...
6 years, 9 months ago (2014-02-27 14:15:39 UTC) #2
Jói
Mostly some nits. https://codereview.chromium.org/183113004/diff/1/content/renderer/media/media_stream_video_source.cc File content/renderer/media/media_stream_video_source.cc (right): https://codereview.chromium.org/183113004/diff/1/content/renderer/media/media_stream_video_source.cc#newcode40 content/renderer/media/media_stream_video_source.cc:40: // MediaStreamVideoSource support cropping of video ...
6 years, 9 months ago (2014-02-27 14:52:24 UTC) #3
perkj_chrome
PTAL https://codereview.chromium.org/183113004/diff/1/content/renderer/media/media_stream_video_source.cc File content/renderer/media/media_stream_video_source.cc (right): https://codereview.chromium.org/183113004/diff/1/content/renderer/media/media_stream_video_source.cc#newcode40 content/renderer/media/media_stream_video_source.cc:40: // MediaStreamVideoSource support cropping of video frames but ...
6 years, 9 months ago (2014-03-01 12:32:59 UTC) #4
perkj_chrome
This cl needs some more work and discussions.
6 years, 9 months ago (2014-03-03 13:50:34 UTC) #5
Jói
https://codereview.chromium.org/183113004/diff/1/content/renderer/media/media_stream_video_source.cc File content/renderer/media/media_stream_video_source.cc (right): https://codereview.chromium.org/183113004/diff/1/content/renderer/media/media_stream_video_source.cc#newcode255 content/renderer/media/media_stream_video_source.cc:255: *capture_format = GetBestFormatBasedOnArea( On 2014/03/01 12:32:59, perkj wrote: > ...
6 years, 9 months ago (2014-03-03 13:55:15 UTC) #6
Ronghua Wu (Left Chromium)
Will hold off on review according to your last post.
6 years, 9 months ago (2014-03-04 23:58:24 UTC) #7
perkj_chrome
ok- I think we have settled on how cropping should be done. I will try ...
6 years, 9 months ago (2014-03-05 13:59:40 UTC) #8
Jói
LGTM apart from the question below. https://codereview.chromium.org/183113004/diff/120001/content/renderer/media/media_stream_video_source.cc File content/renderer/media/media_stream_video_source.cc (right): https://codereview.chromium.org/183113004/diff/120001/content/renderer/media/media_stream_video_source.cc#newcode369 content/renderer/media/media_stream_video_source.cc:369: ((frame->coded_size().width() - visible_width) ...
6 years, 9 months ago (2014-03-05 15:57:10 UTC) #9
perkj_chrome
Hej I changed to that we now crop and set the offset to 0,0 instead ...
6 years, 9 months ago (2014-03-06 09:14:42 UTC) #10
tommi (sloooow) - chröme
https://codereview.chromium.org/183113004/diff/160001/content/browser/media/webrtc_getusermedia_browsertest.cc File content/browser/media/webrtc_getusermedia_browsertest.cc (right): https://codereview.chromium.org/183113004/diff/160001/content/browser/media/webrtc_getusermedia_browsertest.cc#newcode397 content/browser/media/webrtc_getusermedia_browsertest.cc:397: // Currently the render pipeline don't support cropping where ...
6 years, 9 months ago (2014-03-06 10:14:09 UTC) #11
perkj_chrome
Addressed code review comments. PTAL. https://codereview.chromium.org/183113004/diff/160001/content/browser/media/webrtc_getusermedia_browsertest.cc File content/browser/media/webrtc_getusermedia_browsertest.cc (right): https://codereview.chromium.org/183113004/diff/160001/content/browser/media/webrtc_getusermedia_browsertest.cc#newcode397 content/browser/media/webrtc_getusermedia_browsertest.cc:397: // Currently the render ...
6 years, 9 months ago (2014-03-06 12:45:42 UTC) #12
tommi (sloooow) - chröme
https://codereview.chromium.org/183113004/diff/160001/content/browser/media/webrtc_getusermedia_browsertest.cc File content/browser/media/webrtc_getusermedia_browsertest.cc (right): https://codereview.chromium.org/183113004/diff/160001/content/browser/media/webrtc_getusermedia_browsertest.cc#newcode398 content/browser/media/webrtc_getusermedia_browsertest.cc:398: // frame don't have the same top left pixel ...
6 years, 9 months ago (2014-03-06 13:28:49 UTC) #13
perkj_chrome
PTAL https://codereview.chromium.org/183113004/diff/160001/content/browser/media/webrtc_getusermedia_browsertest.cc File content/browser/media/webrtc_getusermedia_browsertest.cc (right): https://codereview.chromium.org/183113004/diff/160001/content/browser/media/webrtc_getusermedia_browsertest.cc#newcode398 content/browser/media/webrtc_getusermedia_browsertest.cc:398: // frame don't have the same top left ...
6 years, 9 months ago (2014-03-06 14:22:53 UTC) #14
perkj_chrome
On 2014/03/06 14:22:53, perkj wrote: > PTAL > > https://codereview.chromium.org/183113004/diff/160001/content/browser/media/webrtc_getusermedia_browsertest.cc > File content/browser/media/webrtc_getusermedia_browsertest.cc (right): > ...
6 years, 9 months ago (2014-03-06 14:24:28 UTC) #15
perkj_chrome
ok- problem solved. PTAL
6 years, 9 months ago (2014-03-06 14:39:31 UTC) #16
tommi (sloooow) - chröme
lgtm https://codereview.chromium.org/183113004/diff/210001/content/renderer/media/media_stream_video_source.cc File content/renderer/media/media_stream_video_source.cc (right): https://codereview.chromium.org/183113004/diff/210001/content/renderer/media/media_stream_video_source.cc#newcode202 content/renderer/media/media_stream_video_source.cc:202: base::StringToInt(value_str.utf8(), value); ah, that was my mistake I ...
6 years, 9 months ago (2014-03-06 14:58:04 UTC) #17
perkj_chrome
The CQ bit was checked by perkj@chromium.org
6 years, 9 months ago (2014-03-06 15:20:55 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/perkj@chromium.org/183113004/220002
6 years, 9 months ago (2014-03-06 15:21:19 UTC) #19
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 9 months ago (2014-03-06 16:43:02 UTC) #20
commit-bot: I haz the power
Retried try job too often on win_rel for step(s) telemetry_perf_unittests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win_rel&number=276321
6 years, 9 months ago (2014-03-06 16:43:03 UTC) #21
mflodman_chromium_OOO
LGTM for content/renderer/media/webrtc/DEPS
6 years, 9 months ago (2014-03-07 08:51:30 UTC) #22
perkj_chrome
6 years, 9 months ago (2014-03-07 09:54:41 UTC) #23
Message was sent while issue was closed.
Committed patchset #12 manually as r255573 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698