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

Issue 1479023002: Prepare the AudioSendStream to be hooked up to send-side BWE. (Closed)

Created:
5 years ago by stefan-webrtc
Modified:
5 years ago
Reviewers:
the sun, mflodman
CC:
webrtc-reviews_webrtc.org, interface-changes_webrtc.org, rwolff_gocast.it, yujie_mao (webrtc), Andrew MacDonald, henrika_webrtc, hlundin-webrtc, tterriberry_mozilla.com, audio-team_agora.io, qiang.lu, niklas.enbom, peah-webrtc, minyue-webrtc, the sun
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Prepare the AudioSendStream to be hooked up to send-side BWE. This CL contains three changes as a preparation for adding audio send streams to the send-side BWE: 1. Audio packets are passed through the pacer with high priority. This is needed to be able to set transport sequence numbers on the packets. 2. A feedback observer is passed to the audio stream's rtcp receiver so that the BWE can get notified of any BWE feedback being received on the audio feedback channel. 3. Support for the transport sequence number header extension is added to audio send streams. BUG=webrtc:5263, webrtc:5307 R=mflodman@webrtc.org, solenberg@webrtc.org Committed: https://crrev.com/b86d4e4a8dec1eb1b801244a2a97cda66f561d8e Cr-Commit-Position: refs/heads/master@{#10909}

Patch Set 1 #

Patch Set 2 : Fixed tests. #

Patch Set 3 : Only configure rtp module with pacing if channel configured to do it. #

Patch Set 4 : Improve class name. #

Patch Set 5 : Rebase #

Patch Set 6 : . #

Patch Set 7 : Fixes and cleanups. #

Patch Set 8 : Fix GN bots. #

Total comments: 46

Patch Set 9 : Comments addressed. #

Total comments: 10

Patch Set 10 : All requested changes except in channel.h/.cc which needs discussion. #

Patch Set 11 : Comments addressed. #

Total comments: 17

Patch Set 12 : Magnus' comments addressed. #

Total comments: 42

Patch Set 13 : Reverted back to using a proxy and fixed an issue related to audio nack. #

Total comments: 1

Patch Set 14 : Remove anonymous namespace due to compile warning. #

Total comments: 11

Patch Set 15 : Allow sending high prio (audio) packets when network down to work around broken peer connection beh… #

Patch Set 16 : . #

Total comments: 3

Patch Set 17 : Addressed comment #

Total comments: 2

Patch Set 18 : Moved method. #

Total comments: 7

Patch Set 19 : Magnus comments addressed. #

Patch Set 20 : Rebase #

Patch Set 21 : Fix merge #

Patch Set 22 : Remove incorrect thread check. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+431 lines, -144 lines) Patch
M talk/media/webrtc/webrtcvoiceengine.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/audio/audio_send_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +3 lines, -1 line 0 comments Download
M webrtc/audio/audio_send_stream.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 3 chunks +14 lines, -1 line 0 comments Download
M webrtc/audio/audio_send_stream_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 +47 lines, -5 lines 0 comments Download
M webrtc/audio_send_stream.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +1 line, -1 line 0 comments Download
M webrtc/call/call.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +2 lines, -2 lines 0 comments Download
M webrtc/call/call_perf_tests.cc View 1 2 3 4 5 6 7 8 9 10 11 12 7 chunks +58 lines, -33 lines 0 comments Download
M webrtc/config.h View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
M webrtc/modules/pacing/paced_sender.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 3 chunks +9 lines, -5 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_sender.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 4 chunks +6 lines, -4 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +6 lines, -4 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +3 lines, -3 lines 0 comments Download
M webrtc/test/mock_voe_channel_proxy.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +5 lines, -0 lines 0 comments Download
M webrtc/voice_engine/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/voice_engine/channel.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 chunks +18 lines, -1 line 0 comments Download
M webrtc/voice_engine/channel.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 6 chunks +225 lines, -84 lines 0 comments Download
M webrtc/voice_engine/channel_proxy.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +10 lines, -0 lines 0 comments Download
M webrtc/voice_engine/channel_proxy.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 3 chunks +15 lines, -0 lines 0 comments Download
M webrtc/voice_engine/voice_engine.gyp View 1 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 71 (20 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1479023002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1479023002/20001
5 years ago (2015-11-27 16:51:19 UTC) #2
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_x64_gn_dbg on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/mac_x64_gn_dbg/builds/5574)
5 years ago (2015-11-27 16:55:11 UTC) #4
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1479023002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1479023002/60001
5 years ago (2015-11-30 09:18:20 UTC) #6
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: ios_arm64_dbg on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/ios_arm64_dbg/builds/5941) ios_dbg on ...
5 years ago (2015-11-30 09:19:00 UTC) #8
stefan-webrtc
Rebase
5 years ago (2015-11-30 09:24:13 UTC) #9
stefan-webrtc
Fixes and cleanups.
5 years ago (2015-11-30 09:56:38 UTC) #10
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1479023002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1479023002/120001
5 years ago (2015-11-30 09:57:16 UTC) #12
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_x64_gn_rel on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/mac_x64_gn_rel/builds/5548)
5 years ago (2015-11-30 10:00:25 UTC) #14
stefan-webrtc
Fix GN bots.
5 years ago (2015-11-30 10:04:24 UTC) #15
stefan-webrtc
This change is fairly well covered by the audio/video sync tests. When audio is fully ...
5 years ago (2015-11-30 10:10:24 UTC) #17
the sun
Bunch of nits basically. Biggest concern is with the PacketSenderProxy. I see the point but ...
5 years ago (2015-11-30 12:37:20 UTC) #18
stefan-webrtc
Comments addressed.
5 years ago (2015-11-30 15:20:44 UTC) #19
stefan-webrtc
Thanks for the thorough review. Most comments should have been addressed. We may need to ...
5 years ago (2015-11-30 15:22:03 UTC) #20
the sun
https://codereview.webrtc.org/1479023002/diff/140001/talk/media/webrtc/webrtcvoiceengine.cc File talk/media/webrtc/webrtcvoiceengine.cc (right): https://codereview.webrtc.org/1479023002/diff/140001/talk/media/webrtc/webrtcvoiceengine.cc#newcode540 talk/media/webrtc/webrtcvoiceengine.cc:540: voe_config_.Set<webrtc::VoicePacing>(new webrtc::VoicePacing(true)); On 2015/11/30 15:22:02, stefan-webrtc (holmer) wrote: > ...
5 years ago (2015-12-01 10:25:36 UTC) #21
stefan-webrtc
https://codereview.webrtc.org/1479023002/diff/140001/webrtc/audio/audio_send_stream_unittest.cc File webrtc/audio/audio_send_stream_unittest.cc (right): https://codereview.webrtc.org/1479023002/diff/140001/webrtc/audio/audio_send_stream_unittest.cc#newcode127 webrtc/audio/audio_send_stream_unittest.cc:127: private: On 2015/12/01 10:25:35, the sun wrote: > Hey, ...
5 years ago (2015-12-01 16:19:33 UTC) #22
the sun
https://codereview.webrtc.org/1479023002/diff/140001/webrtc/voice_engine/channel.h File webrtc/voice_engine/channel.h (right): https://codereview.webrtc.org/1479023002/diff/140001/webrtc/voice_engine/channel.h#newcode109 webrtc/voice_engine/channel.h:109: void AddPacket(uint16_t sequence_number, On 2015/12/01 16:19:33, stefan-webrtc (holmer) wrote: ...
5 years ago (2015-12-01 16:48:23 UTC) #23
stefan-webrtc
Comments addressed.
5 years ago (2015-12-02 16:13:34 UTC) #24
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1479023002/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1479023002/200001
5 years ago (2015-12-02 16:14:04 UTC) #26
stefan-webrtc
https://codereview.webrtc.org/1479023002/diff/140001/webrtc/voice_engine/channel.h File webrtc/voice_engine/channel.h (right): https://codereview.webrtc.org/1479023002/diff/140001/webrtc/voice_engine/channel.h#newcode109 webrtc/voice_engine/channel.h:109: void AddPacket(uint16_t sequence_number, On 2015/12/01 16:48:23, the sun wrote: ...
5 years ago (2015-12-02 16:14:18 UTC) #27
stefan-webrtc
https://codereview.webrtc.org/1479023002/diff/140001/webrtc/voice_engine/channel.h File webrtc/voice_engine/channel.h (right): https://codereview.webrtc.org/1479023002/diff/140001/webrtc/voice_engine/channel.h#newcode109 webrtc/voice_engine/channel.h:109: void AddPacket(uint16_t sequence_number, On 2015/12/02 16:14:17, stefan-webrtc (holmer) wrote: ...
5 years ago (2015-12-02 16:17:39 UTC) #28
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: mac_rel on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/mac_rel/builds/11241) mac_x64_rel on ...
5 years ago (2015-12-02 16:21:07 UTC) #30
mflodman
https://codereview.webrtc.org/1479023002/diff/200001/webrtc/test/mock_voe_channel_proxy.h File webrtc/test/mock_voe_channel_proxy.h (right): https://codereview.webrtc.org/1479023002/diff/200001/webrtc/test/mock_voe_channel_proxy.h#newcode20 webrtc/test/mock_voe_channel_proxy.h:20: class PacketRouter; Alphabetic order. https://codereview.webrtc.org/1479023002/diff/200001/webrtc/voice_engine/channel.cc File webrtc/voice_engine/channel.cc (right): https://codereview.webrtc.org/1479023002/diff/200001/webrtc/voice_engine/channel.cc#newcode823 ...
5 years ago (2015-12-03 09:24:21 UTC) #31
stefan-webrtc
Magnus' comments addressed.
5 years ago (2015-12-03 10:18:22 UTC) #32
stefan-webrtc
https://codereview.webrtc.org/1479023002/diff/200001/webrtc/test/mock_voe_channel_proxy.h File webrtc/test/mock_voe_channel_proxy.h (right): https://codereview.webrtc.org/1479023002/diff/200001/webrtc/test/mock_voe_channel_proxy.h#newcode20 webrtc/test/mock_voe_channel_proxy.h:20: class PacketRouter; On 2015/12/03 09:24:21, mflodman wrote: > Alphabetic ...
5 years ago (2015-12-03 10:18:27 UTC) #33
mflodman
LGTM https://codereview.webrtc.org/1479023002/diff/200001/webrtc/voice_engine/channel.cc File webrtc/voice_engine/channel.cc (right): https://codereview.webrtc.org/1479023002/diff/200001/webrtc/voice_engine/channel.cc#newcode2805 webrtc/voice_engine/channel.cc:2805: RTC_DCHECK_EQ(0, ret); On 2015/12/03 10:18:27, stefan-webrtc (holmer) wrote: ...
5 years ago (2015-12-03 10:38:33 UTC) #34
the sun
https://codereview.webrtc.org/1479023002/diff/200001/webrtc/voice_engine/channel.cc File webrtc/voice_engine/channel.cc (right): https://codereview.webrtc.org/1479023002/diff/200001/webrtc/voice_engine/channel.cc#newcode823 webrtc/voice_engine/channel.cc:823: if (packet_router_ != nullptr) On 2015/12/03 10:18:27, stefan-webrtc (holmer) ...
5 years ago (2015-12-03 11:10:29 UTC) #35
stefan-webrtc
Slowly getting there... Now we're back to using a proxy. In fact, I chose to ...
5 years ago (2015-12-04 10:31:43 UTC) #36
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1479023002/240001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1479023002/240001
5 years ago (2015-12-04 10:33:24 UTC) #38
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_compile_x86_dbg on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/android_compile_x86_dbg/builds/268)
5 years ago (2015-12-04 10:43:33 UTC) #40
the sun
https://codereview.webrtc.org/1479023002/diff/220001/webrtc/audio/audio_send_stream.cc File webrtc/audio/audio_send_stream.cc (right): https://codereview.webrtc.org/1479023002/diff/220001/webrtc/audio/audio_send_stream.cc#newcode21 webrtc/audio/audio_send_stream.cc:21: #include "webrtc/modules/pacing/paced_sender.h" On 2015/12/04 10:31:42, stefan-webrtc (holmer) wrote: > ...
5 years ago (2015-12-04 12:04:48 UTC) #41
stefan-webrtc
Allow sending high prio (audio) packets when network down to work around broken peer connection ...
5 years ago (2015-12-04 13:00:57 UTC) #42
stefan-webrtc
.
5 years ago (2015-12-04 13:06:08 UTC) #44
stefan-webrtc
I had to work around this issue: https://bugs.chromium.org/p/webrtc/issues/detail?id=5307 by changing the pacer so that audio ...
5 years ago (2015-12-04 13:12:39 UTC) #45
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1479023002/300001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1479023002/300001
5 years ago (2015-12-04 13:12:55 UTC) #47
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: presubmit on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/presubmit/builds/2187)
5 years ago (2015-12-04 13:15:22 UTC) #49
the sun
https://codereview.webrtc.org/1479023002/diff/220001/webrtc/audio/audio_send_stream.cc File webrtc/audio/audio_send_stream.cc (right): https://codereview.webrtc.org/1479023002/diff/220001/webrtc/audio/audio_send_stream.cc#newcode21 webrtc/audio/audio_send_stream.cc:21: #include "webrtc/modules/pacing/paced_sender.h" On 2015/12/04 13:12:39, stefan-webrtc (holmer) wrote: > ...
5 years ago (2015-12-04 14:01:57 UTC) #50
stefan-webrtc
Addressed comment
5 years ago (2015-12-04 14:09:20 UTC) #51
stefan-webrtc
https://codereview.webrtc.org/1479023002/diff/300001/webrtc/voice_engine/channel.cc File webrtc/voice_engine/channel.cc (right): https://codereview.webrtc.org/1479023002/diff/300001/webrtc/voice_engine/channel.cc#newcode104 webrtc/voice_engine/channel.cc:104: RTC_DCHECK(seq_num_allocator_); On 2015/12/04 14:01:57, the sun wrote: > if ...
5 years ago (2015-12-04 14:09:40 UTC) #52
the sun
lgtm https://codereview.webrtc.org/1479023002/diff/320001/webrtc/voice_engine/channel.cc File webrtc/voice_engine/channel.cc (right): https://codereview.webrtc.org/1479023002/diff/320001/webrtc/voice_engine/channel.cc#newcode2914 webrtc/voice_engine/channel.cc:2914: void Channel::SetCongestionControlObjects( nit: Move up above SetRTCPStatus() - ...
5 years ago (2015-12-04 14:21:19 UTC) #53
stefan-webrtc
Moved method.
5 years ago (2015-12-04 14:29:37 UTC) #54
mflodman
Two nits and one question. https://codereview.webrtc.org/1479023002/diff/340001/webrtc/modules/pacing/paced_sender.cc File webrtc/modules/pacing/paced_sender.cc (right): https://codereview.webrtc.org/1479023002/diff/340001/webrtc/modules/pacing/paced_sender.cc#newcode375 webrtc/modules/pacing/paced_sender.cc:375: target_bitrate_kbps = min_bitrate_needed_kbps; Indentation. ...
5 years ago (2015-12-04 15:25:19 UTC) #56
stefan-webrtc
Magnus comments addressed.
5 years ago (2015-12-04 15:30:10 UTC) #57
stefan-webrtc
Thanks for noticing those nits. Reformatted. https://codereview.webrtc.org/1479023002/diff/320001/webrtc/voice_engine/channel.cc File webrtc/voice_engine/channel.cc (right): https://codereview.webrtc.org/1479023002/diff/320001/webrtc/voice_engine/channel.cc#newcode2914 webrtc/voice_engine/channel.cc:2914: void Channel::SetCongestionControlObjects( On ...
5 years ago (2015-12-04 15:30:22 UTC) #58
mflodman
LGTM https://codereview.webrtc.org/1479023002/diff/340001/webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc File webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc (right): https://codereview.webrtc.org/1479023002/diff/340001/webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc#newcode482 webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc:482: dtmfbuffer, 4, 12, TickTime::MillisecondTimestamp(), On 2015/12/04 15:30:22, stefan-webrtc ...
5 years ago (2015-12-04 16:04:58 UTC) #59
stefan-webrtc
Rebase
5 years ago (2015-12-07 08:44:02 UTC) #60
stefan-webrtc
Fix merge
5 years ago (2015-12-07 08:46:32 UTC) #61
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1479023002/400001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1479023002/400001
5 years ago (2015-12-07 08:47:16 UTC) #64
commit-bot: I haz the power
Try jobs failed on following builders: linux_rel on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/linux_rel/builds/11335) win_x64_rel on tryserver.webrtc (JOB_FAILED, ...
5 years ago (2015-12-07 08:53:58 UTC) #66
stefan-webrtc
Remove incorrect thread check.
5 years ago (2015-12-07 09:05:41 UTC) #67
commit-bot: I haz the power
Patchset 22 (id:??) landed as https://crrev.com/b86d4e4a8dec1eb1b801244a2a97cda66f561d8e Cr-Commit-Position: refs/heads/master@{#10909}
5 years ago (2015-12-07 09:26:37 UTC) #70
stefan-webrtc
5 years ago (2015-12-07 09:26:39 UTC) #71
Message was sent while issue was closed.
Committed patchset #22 (id:420001) manually as
b86d4e4a8dec1eb1b801244a2a97cda66f561d8e (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698