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

Issue 1433703002: Remove contention between RTCP packets and encoding. (Closed)

Created:
5 years, 1 month ago by pbos-webrtc
Modified:
5 years, 1 month ago
Reviewers:
stefan-webrtc
CC:
webrtc-reviews_webrtc.org, yujie_mao (webrtc), stefan-webrtc, tterriberry_mozilla.com, mflodman, the sun, perkj_webrtc, andresp
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Remove contention between RTCP packets and encoding. Receiving RTCP often caused the worker thread to stall for >20 ms (>100ms observed) due to contention on VideoSender's send_crit_ (used to protect encoding). This change removes an unnecessary acquire of send_crit_ and caches encoder settings in ViEEncoder instead of acquiring them through ::SendCodec() in VCM (which is blocking). BUG=webrtc:5106 R=stefan@webrtc.org Committed: https://crrev.com/d153a37801d9b1258ffff9f878064fa0ddfd3b0a Cr-Commit-Position: refs/heads/master@{#10582}

Patch Set 1 #

Patch Set 2 : fix bug + add EXPECT_ instead of printf error handling #

Patch Set 3 : simplify fec/nack protection setting #

Patch Set 4 : make sure encoder_config_ is set before adding bitrate observers, to update based on current simulc… #

Total comments: 4

Patch Set 5 : comment for SetProtectionMethod #

Total comments: 2

Patch Set 6 : added TODO in comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+41 lines, -96 lines) Patch
M webrtc/modules/video_coding/main/source/video_sender.cc View 1 chunk +0 lines, -1 line 0 comments Download
M webrtc/video/rampup_tests.cc View 1 1 chunk +2 lines, -4 lines 0 comments Download
M webrtc/video/video_send_stream.cc View 1 2 3 4 2 chunks +2 lines, -8 lines 0 comments Download
M webrtc/video_engine/vie_encoder.h View 1 2 3 4 5 5 chunks +7 lines, -9 lines 0 comments Download
M webrtc/video_engine/vie_encoder.cc View 1 2 3 11 chunks +30 lines, -74 lines 0 comments Download

Messages

Total messages: 16 (3 generated)
pbos-webrtc
PTAL, I'll run all tests locally before poking CQ (dry).
5 years, 1 month ago (2015-11-09 15:12:19 UTC) #2
pbos-webrtc
fix bug + add EXPECT_ instead of printf error handling
5 years, 1 month ago (2015-11-09 16:19:52 UTC) #3
pbos-webrtc
simplify fec/nack protection setting
5 years, 1 month ago (2015-11-09 16:41:25 UTC) #4
pbos-webrtc
make sure encoder_config_ is set before adding bitrate observers, to update based on current simulcast ...
5 years, 1 month ago (2015-11-09 16:55:34 UTC) #5
pbos-webrtc
OK, PTAL. Hope this didn't go too far out of scope, I wanted to remove ...
5 years, 1 month ago (2015-11-09 16:57:18 UTC) #6
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1433703002/50001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1433703002/50001
5 years, 1 month ago (2015-11-09 16:57:38 UTC) #8
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 1 month ago (2015-11-09 18:40:21 UTC) #10
pbos-webrtc
comment for SetProtectionMethod
5 years, 1 month ago (2015-11-10 15:08:14 UTC) #11
stefan-webrtc
lgtm https://codereview.webrtc.org/1433703002/diff/50001/webrtc/video/video_send_stream.cc File webrtc/video/video_send_stream.cc (right): https://codereview.webrtc.org/1433703002/diff/50001/webrtc/video/video_send_stream.cc#newcode199 webrtc/video/video_send_stream.cc:199: vie_encoder_->SetProtectionMethod(enable_protection_nack, Why did you move this? If it ...
5 years, 1 month ago (2015-11-10 15:15:26 UTC) #12
pbos-webrtc
added TODO in comment
5 years, 1 month ago (2015-11-10 15:18:27 UTC) #13
pbos-webrtc
https://codereview.webrtc.org/1433703002/diff/50001/webrtc/video/video_send_stream.cc File webrtc/video/video_send_stream.cc (right): https://codereview.webrtc.org/1433703002/diff/50001/webrtc/video/video_send_stream.cc#newcode199 webrtc/video/video_send_stream.cc:199: vie_encoder_->SetProtectionMethod(enable_protection_nack, On 2015/11/10 15:15:26, stefan-webrtc (holmer) wrote: > Why ...
5 years, 1 month ago (2015-11-10 15:18:52 UTC) #14
pbos-webrtc
Committed patchset #6 (id:90001) manually as d153a37801d9b1258ffff9f878064fa0ddfd3b0a (presubmit successful).
5 years, 1 month ago (2015-11-10 15:27:27 UTC) #15
commit-bot: I haz the power
5 years, 1 month ago (2015-11-10 15:27:27 UTC) #16
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/d153a37801d9b1258ffff9f878064fa0ddfd3b0a
Cr-Commit-Position: refs/heads/master@{#10582}

Powered by Google App Engine
This is Rietveld 408576698