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

Issue 2304363002: Let ViEEncoder express resolution requests as Sinkwants (Closed)

Created:
4 years, 3 months ago by perkj_webrtc
Modified:
4 years, 1 month ago
CC:
webrtc-reviews_webrtc.org, interface-changes_webrtc.org, video-team_agora.io, yujie_mao (webrtc), zhengzhonghou_agora.io, stefan-webrtc, tterriberry_mozilla.com, qiang.lu, niklas.enbom, peah-webrtc, the sun, perkj_webrtc, mflodman, kthelgason, nisse-webrtc
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Let ViEEncoder express resolution requests as Sinkwants. This removes the VideoSendStream::LoadObserver interface and the implementation in WebrtcVideoSendStream and replace it with VideoSinkWants through the VideoSourceInterface. To do that that, some stats for CPU adaptation is moved into VideoSendStream. Also handling of the CVO rtp header extension is moved to VideoSendStreamImpl. BUG=webrtc:5687 TBR=mflodman@webrtc.org Committed: https://crrev.com/803d97f15937f0aba79043b8d92d8a66dfa31cfb Cr-Commit-Position: refs/heads/master@{#14877}

Patch Set 1 #

Patch Set 2 : peerconnection_tests pass. #

Patch Set 3 : wip #

Patch Set 4 : Fix. #

Patch Set 5 : Fix. #

Patch Set 6 : Fix unittests. #

Patch Set 7 : Need to fix encoder_reconf_first. #

Patch Set 8 : Rebased and fixed. #

Total comments: 7

Patch Set 9 : Fixed perf_test, addressed karis comments. #

Patch Set 10 : .. #

Patch Set 11 : Rebased #

Patch Set 12 : Fix broken test RunOnTqNormalUsage. #

Total comments: 56

Patch Set 13 : Addressed code review comments. #

Patch Set 14 : Failed rebase... WIP #

Patch Set 15 : Revert changes to OveruseFrameDetector. Fix merge mistake #

Total comments: 29

Patch Set 16 : Addressed code review comments. #

Patch Set 17 : Rebased #

Patch Set 18 : Addressed Åsas comments except for added VideoSendStream test. #

Patch Set 19 : Add test for VideoSendStream video orientation extension #

Total comments: 6

Patch Set 20 : Fix VieEncoder unittests. Add metrics::Reset() to fix stats tests. #

Patch Set 21 : Add VideoSendStream test for video rotation extension. #

Patch Set 22 : Rebased. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+966 lines, -512 lines) Patch
M webrtc/call.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +0 lines, -13 lines 0 comments Download
M webrtc/call/bitrate_estimator_tests.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +3 lines, -1 line 0 comments Download
M webrtc/call/call_perf_tests.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 3 chunks +26 lines, -23 lines 0 comments Download
M webrtc/media/base/mediachannel.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +1 line, -3 lines 0 comments Download
M webrtc/media/engine/fakewebrtccall.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 3 chunks +15 lines, -2 lines 0 comments Download
M webrtc/media/engine/fakewebrtccall.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +16 lines, -2 lines 0 comments Download
M webrtc/media/engine/webrtcvideoengine2.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +5 lines, -22 lines 0 comments Download
M webrtc/media/engine/webrtcvideoengine2.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 13 chunks +70 lines, -161 lines 0 comments Download
M webrtc/media/engine/webrtcvideoengine2_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 7 chunks +56 lines, -163 lines 0 comments Download
M webrtc/test/call_test.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +6 lines, -2 lines 0 comments Download
M webrtc/test/constants.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/test/constants.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/test/fake_encoder.h View 1 2 3 4 5 6 7 8 2 chunks +4 lines, -1 line 0 comments Download
M webrtc/test/fake_encoder.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 2 chunks +12 lines, -1 line 0 comments Download
M webrtc/test/frame_generator.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +3 lines, -0 lines 0 comments Download
M webrtc/test/frame_generator.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +11 lines, -0 lines 0 comments Download
M webrtc/test/frame_generator_capturer.h View 1 2 3 4 5 6 7 3 chunks +14 lines, -0 lines 0 comments Download
M webrtc/test/frame_generator_capturer.cc View 1 2 3 4 5 6 7 2 chunks +10 lines, -1 line 0 comments Download
M webrtc/video/encoder_rtcp_feedback_unittest.cc View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -1 line 0 comments Download
M webrtc/video/end_to_end_tests.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +9 lines, -4 lines 0 comments Download
M webrtc/video/send_statistics_proxy.h View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +11 lines, -0 lines 0 comments Download
M webrtc/video/send_statistics_proxy.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 5 chunks +37 lines, -15 lines 0 comments Download
M webrtc/video/send_statistics_proxy_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 13 chunks +30 lines, -12 lines 0 comments Download
M webrtc/video/video_quality_test.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +6 lines, -2 lines 0 comments Download
M webrtc/video/video_send_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -2 lines 0 comments Download
M webrtc/video/video_send_stream.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +19 lines, -7 lines 0 comments Download
M webrtc/video/video_send_stream_tests.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 5 chunks +78 lines, -2 lines 0 comments Download
M webrtc/video/vie_encoder.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 6 chunks +41 lines, -12 lines 0 comments Download
M webrtc/video/vie_encoder.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 13 chunks +147 lines, -27 lines 0 comments Download
M webrtc/video/vie_encoder_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 9 chunks +318 lines, -27 lines 0 comments Download
M webrtc/video_send_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +14 lines, -6 lines 0 comments Download

Messages

Total messages: 36 (14 generated)
perkj_webrtc
please? https://codereview.webrtc.org/2304363002/diff/140001/webrtc/media/engine/fakewebrtccall.cc File webrtc/media/engine/fakewebrtccall.cc (right): https://codereview.webrtc.org/2304363002/diff/140001/webrtc/media/engine/fakewebrtccall.cc#newcode244 webrtc/media/engine/fakewebrtccall.cc:244: if (source) {}
4 years, 2 months ago (2016-10-04 08:53:26 UTC) #4
kthelgason
https://codereview.webrtc.org/2304363002/diff/140001/webrtc/video/vie_encoder.cc File webrtc/video/vie_encoder.cc (right): https://codereview.webrtc.org/2304363002/diff/140001/webrtc/video/vie_encoder.cc#newcode411 webrtc/video/vie_encoder.cc:411: source_proxy_->SetSource(nullptr, false); Why hardcode false here? https://codereview.webrtc.org/2304363002/diff/140001/webrtc/video/vie_encoder.cc#newcode773 webrtc/video/vie_encoder.cc:773: if ...
4 years, 2 months ago (2016-10-05 12:42:20 UTC) #6
kthelgason
https://codereview.webrtc.org/2304363002/diff/140001/webrtc/video/vie_encoder.cc File webrtc/video/vie_encoder.cc (right): https://codereview.webrtc.org/2304363002/diff/140001/webrtc/video/vie_encoder.cc#newcode452 webrtc/video/vie_encoder.cc:452: encoder_queue_.PostTask([this, sink, rotation_applied] { captured variable unused in lambda
4 years, 2 months ago (2016-10-06 16:46:12 UTC) #7
perkj_webrtc
https://codereview.webrtc.org/2304363002/diff/140001/webrtc/video/vie_encoder.cc File webrtc/video/vie_encoder.cc (right): https://codereview.webrtc.org/2304363002/diff/140001/webrtc/video/vie_encoder.cc#newcode411 webrtc/video/vie_encoder.cc:411: source_proxy_->SetSource(nullptr, false); On 2016/10/05 12:42:20, kthelgason wrote: > Why ...
4 years, 2 months ago (2016-10-18 07:48:21 UTC) #8
kthelgason
https://codereview.webrtc.org/2304363002/diff/220001/webrtc/call/bitrate_estimator_tests.cc File webrtc/call/bitrate_estimator_tests.cc (right): https://codereview.webrtc.org/2304363002/diff/220001/webrtc/call/bitrate_estimator_tests.cc#newcode181 webrtc/call/bitrate_estimator_tests.cc:181: send_stream_->SetSource(frame_generator_capturer_.get(), false); I personally really dislike boolean arguments like ...
4 years, 2 months ago (2016-10-18 08:31:20 UTC) #9
kthelgason
Couple of small ideas. https://codereview.webrtc.org/2304363002/diff/220001/webrtc/video/video_send_stream.cc File webrtc/video/video_send_stream.cc (right): https://codereview.webrtc.org/2304363002/diff/220001/webrtc/video/video_send_stream.cc#newcode745 webrtc/video/video_send_stream.cc:745: return extension.uri == webrtc::RtpExtension::kVideoRotationUri; seems ...
4 years, 2 months ago (2016-10-19 12:06:45 UTC) #10
åsapersson
https://codereview.chromium.org/2304363002/diff/220001/webrtc/call/call_perf_tests.cc File webrtc/call/call_perf_tests.cc (right): https://codereview.chromium.org/2304363002/diff/220001/webrtc/call/call_perf_tests.cc#newcode528 webrtc/call/call_perf_tests.cc:528: bool expect_lower_resolution_wants_; const https://codereview.chromium.org/2304363002/diff/220001/webrtc/call/call_perf_tests.cc#newcode540 webrtc/call/call_perf_tests.cc:540: TestCpuOveruse(true); maybe remove since ...
4 years, 1 month ago (2016-10-24 07:54:06 UTC) #11
perkj_webrtc
PTAL https://codereview.webrtc.org/2304363002/diff/220001/webrtc/call/bitrate_estimator_tests.cc File webrtc/call/bitrate_estimator_tests.cc (right): https://codereview.webrtc.org/2304363002/diff/220001/webrtc/call/bitrate_estimator_tests.cc#newcode181 webrtc/call/bitrate_estimator_tests.cc:181: send_stream_->SetSource(frame_generator_capturer_.get(), false); On 2016/10/18 08:31:20, kthelgason wrote: > ...
4 years, 1 month ago (2016-10-26 16:40:17 UTC) #12
perkj_webrtc
Added sprang since he expressed interest and mflodman is ooo.
4 years, 1 month ago (2016-10-26 16:43:23 UTC) #14
nisse-webrtc
https://codereview.webrtc.org/2304363002/diff/280001/webrtc/media/engine/webrtcvideoengine2.cc File webrtc/media/engine/webrtcvideoengine2.cc (right): https://codereview.webrtc.org/2304363002/diff/280001/webrtc/media/engine/webrtcvideoengine2.cc#newcode1696 webrtc/media/engine/webrtcvideoengine2.cc:1696: // merged. That time is now. ;-) https://codereview.webrtc.org/2304363002/diff/280001/webrtc/video/vie_encoder.cc File ...
4 years, 1 month ago (2016-10-28 10:53:44 UTC) #15
perkj_webrtc
Thanks Nisse. Ptal https://codereview.webrtc.org/2304363002/diff/280001/webrtc/media/engine/webrtcvideoengine2.cc File webrtc/media/engine/webrtcvideoengine2.cc (right): https://codereview.webrtc.org/2304363002/diff/280001/webrtc/media/engine/webrtcvideoengine2.cc#newcode1696 webrtc/media/engine/webrtcvideoengine2.cc:1696: // merged. On 2016/10/28 10:53:44, nisse-webrtc ...
4 years, 1 month ago (2016-10-28 14:05:35 UTC) #16
nisse-webrtc
LGTM. https://codereview.webrtc.org/2304363002/diff/280001/webrtc/media/engine/webrtcvideoengine2.cc File webrtc/media/engine/webrtcvideoengine2.cc (right): https://codereview.webrtc.org/2304363002/diff/280001/webrtc/media/engine/webrtcvideoengine2.cc#newcode1696 webrtc/media/engine/webrtcvideoengine2.cc:1696: // merged. On 2016/10/28 14:05:34, perkj_webrtc wrote: > ...
4 years, 1 month ago (2016-10-31 07:52:46 UTC) #18
åsapersson
lgtm with nits https://codereview.webrtc.org/2304363002/diff/280001/webrtc/media/engine/webrtcvideoengine2_unittest.cc File webrtc/media/engine/webrtcvideoengine2_unittest.cc (right): https://codereview.webrtc.org/2304363002/diff/280001/webrtc/media/engine/webrtcvideoengine2_unittest.cc#newcode2918 webrtc/media/engine/webrtcvideoengine2_unittest.cc:2918: EXPECT_EQ(2, info.senders[0].adapt_changes); 2 -> stats.number_of_cpu_adapt_changes https://codereview.webrtc.org/2304363002/diff/280001/webrtc/media/engine/webrtcvideoengine2_unittest.cc#newcode2935 ...
4 years, 1 month ago (2016-10-31 08:43:02 UTC) #19
perkj_webrtc
Thanks Åsa. Would you mind taking a look at the added test as well? sprang, ...
4 years, 1 month ago (2016-10-31 19:45:19 UTC) #20
åsapersson
https://codereview.webrtc.org/2304363002/diff/360001/webrtc/video/video_send_stream_tests.cc File webrtc/video/video_send_stream_tests.cc (right): https://codereview.webrtc.org/2304363002/diff/360001/webrtc/video/video_send_stream_tests.cc#newcode2917 webrtc/video/video_send_stream_tests.cc:2917: } Maybe also add a test that verifies the ...
4 years, 1 month ago (2016-11-01 08:04:55 UTC) #21
perkj_webrtc
https://codereview.webrtc.org/2304363002/diff/360001/webrtc/video/video_send_stream_tests.cc File webrtc/video/video_send_stream_tests.cc (right): https://codereview.webrtc.org/2304363002/diff/360001/webrtc/video/video_send_stream_tests.cc#newcode2917 webrtc/video/video_send_stream_tests.cc:2917: } On 2016/11/01 08:04:55, åsapersson wrote: > Maybe also ...
4 years, 1 month ago (2016-11-01 18:00:42 UTC) #22
perkj_webrtc
I am going to make an attempt at landing this now. mflodman, sprang, please take ...
4 years, 1 month ago (2016-11-01 18:01:29 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2304363002/400001
4 years, 1 month ago (2016-11-01 18:02:08 UTC) #27
commit-bot: I haz the power
Try jobs failed on following builders: android_more_configs on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/android_more_configs/builds/12) ios32_sim_dbg on master.tryserver.webrtc (JOB_FAILED, ...
4 years, 1 month ago (2016-11-01 18:03:18 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2304363002/420001
4 years, 1 month ago (2016-11-01 18:19:49 UTC) #32
commit-bot: I haz the power
Committed patchset #22 (id:420001)
4 years, 1 month ago (2016-11-01 18:45:51 UTC) #34
commit-bot: I haz the power
4 years, 1 month ago (2016-11-01 19:01:57 UTC) #36
Message was sent while issue was closed.
Patchset 22 (id:??) landed as
https://crrev.com/803d97f15937f0aba79043b8d92d8a66dfa31cfb
Cr-Commit-Position: refs/heads/master@{#14877}

Powered by Google App Engine
This is Rietveld 408576698