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

Issue 1649493004: Support multiple rtx codecs. (Closed)

Created:
4 years, 10 months ago by stefan-webrtc
Modified:
4 years, 10 months ago
Reviewers:
pbos-webrtc, mflodman
CC:
webrtc-reviews_webrtc.org, video-team_agora.io, yujie_mao (webrtc), zhuangzesen_agora.io, zhengzhonghou_agora.io, tterriberry_mozilla.com, qiang.lu, niklas.enbom, andresp, peah-webrtc, the sun, pbos-webrtc, perkj_webrtc, mflodman
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Support multiple rtx codecs. Adds negotiation of rtx codecs for red and vp9. To keep backwards compatibility with older Chrome versions, this change includes two hacks: 1. Red packets will be retransmitted over the rtx codec associated with vp8 if no rtx codec is associated with red. This is how Chrome does it today and ensures that we still can send red over rtx to older versions. 2. If rtx packets associated with the media codec (vp8/vp9 etc) are received and red has been negotiated, we will assume that the sender incorrectly has packetized red inside the rtx header associated with media. We will therefore restore it with the red payload type instead, which ensures that we can still receive rtx associated with red from old versions. Offering multiple rtx codecs to older versions should not be a problem since old versions themselves only try to negotiate rtx for vp8. R=pbos@webrtc.org TBR=mflodman@webrtc.org BUG=webrtc:4024 TEST=Verified by running apprtc and emulating packet loss between Chrome with and without the patch. Committed: https://crrev.com/10880011d9f116a9aff87436de231151e355ac7d Cr-Commit-Position: refs/heads/master@{#11472}

Patch Set 1 #

Patch Set 2 : Remove printfs. #

Patch Set 3 : Remove some more code. #

Total comments: 6

Patch Set 4 : Test added. #

Patch Set 5 : Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+85 lines, -102 lines) Patch
M talk/media/base/constants.h View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M talk/media/base/constants.cc View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M talk/media/webrtc/webrtcvideoengine2.cc View 1 2 3 4 2 chunks +6 lines, -1 line 0 comments Download
M talk/media/webrtc/webrtcvideoengine2_unittest.cc View 1 2 3 4 3 chunks +1 line, -4 lines 0 comments Download
M webrtc/config.cc View 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/modules/rtp_rtcp/include/rtp_rtcp.h View 1 chunk +0 lines, -4 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_payload_registry.cc View 1 2 3 2 chunks +11 lines, -15 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_payload_registry_unittest.cc View 1 2 3 2 chunks +20 lines, -39 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.h View 1 chunk +0 lines, -1 line 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc View 1 chunk +0 lines, -4 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_sender.h View 1 2 3 4 2 chunks +0 lines, -4 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_sender.cc View 1 2 3 4 4 chunks +11 lines, -18 lines 0 comments Download
M webrtc/video/end_to_end_tests.cc View 1 2 3 4 3 chunks +21 lines, -8 lines 0 comments Download
M webrtc/video/video_quality_test.cc View 1 2 3 4 1 chunk +2 lines, -3 lines 0 comments Download
M webrtc/video/video_send_stream.cc View 1 chunk +5 lines, -0 lines 0 comments Download
M webrtc/video/vie_receiver.cc View 1 2 1 chunk +3 lines, -1 line 0 comments Download

Messages

Total messages: 24 (11 generated)
stefan-webrtc
PTAL I'm still considering what tests I can add to make sure the interop doesn't ...
4 years, 10 months ago (2016-01-28 16:38:54 UTC) #2
stefan-webrtc
Remove some more code.
4 years, 10 months ago (2016-01-28 18:56:44 UTC) #3
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1649493004/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1649493004/40001
4 years, 10 months ago (2016-01-28 19:23:00 UTC) #5
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 10 months ago (2016-01-28 20:36:16 UTC) #8
pbos-webrtc
LGTM with questions. https://codereview.webrtc.org/1649493004/diff/40001/webrtc/modules/rtp_rtcp/source/rtp_payload_registry.cc File webrtc/modules/rtp_rtcp/source/rtp_payload_registry.cc (right): https://codereview.webrtc.org/1649493004/diff/40001/webrtc/modules/rtp_rtcp/source/rtp_payload_registry.cc#newcode276 webrtc/modules/rtp_rtcp/source/rtp_payload_registry.cc:276: if (red_payload_type_ != -1) { Does ...
4 years, 10 months ago (2016-02-01 14:32:19 UTC) #10
stefan-webrtc
Test added.
4 years, 10 months ago (2016-02-01 15:25:46 UTC) #11
stefan-webrtc
https://codereview.webrtc.org/1649493004/diff/40001/webrtc/modules/rtp_rtcp/source/rtp_payload_registry.cc File webrtc/modules/rtp_rtcp/source/rtp_payload_registry.cc (right): https://codereview.webrtc.org/1649493004/diff/40001/webrtc/modules/rtp_rtcp/source/rtp_payload_registry.cc#newcode276 webrtc/modules/rtp_rtcp/source/rtp_payload_registry.cc:276: if (red_payload_type_ != -1) { On 2016/02/01 14:32:19, pbos-webrtc ...
4 years, 10 months ago (2016-02-01 15:26:09 UTC) #12
pbos-webrtc
thanks, lgtm
4 years, 10 months ago (2016-02-01 15:26:54 UTC) #13
stefan-webrtc
Rebase.
4 years, 10 months ago (2016-02-03 10:24:21 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1649493004/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1649493004/80001
4 years, 10 months ago (2016-02-03 10:25:41 UTC) #18
commit-bot: I haz the power
Try jobs failed on following builders: linux_baremetal on tryserver.webrtc (JOB_TIMED_OUT, no build URL)
4 years, 10 months ago (2016-02-03 12:26:15 UTC) #20
stefan-webrtc
Committed patchset #5 (id:80001) manually as 10880011d9f116a9aff87436de231151e355ac7d (presubmit successful).
4 years, 10 months ago (2016-02-03 12:30:16 UTC) #22
commit-bot: I haz the power
4 years, 10 months ago (2016-02-03 12:30:18 UTC) #24
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/10880011d9f116a9aff87436de231151e355ac7d
Cr-Commit-Position: refs/heads/master@{#11472}

Powered by Google App Engine
This is Rietveld 408576698