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

Issue 2893293003: Only compare sequence numbers from the same SSRC in ForwardErrorCorrection. (Closed)

Created:
3 years, 7 months ago by brandtr
Modified:
3 years, 6 months ago
Reviewers:
holmer, stefan-webrtc
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com, zhuangzesen_agora.io, danilchap, mflodman
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

Only compare sequence numbers from the same SSRC in ForwardErrorCorrection. Prior to this CL, the ForwardErrorCorrection state would be reset whenever the difference in sequence numbers of the last recovered media packet and the new packet (media or FEC) was too large. This comparison did not take into account that FlexFEC uses a different SSRC for the FEC packets, meaning that the the state would be reset very frequently when FlexFEC is used. This should not have led to any major problems, except for a decreased decoding efficiency. This CL verifies that whenever we compare sequence numbers in ForwardErrorCorrection, they do indeed belong to the same SSRC. BUG=webrtc:5654 Review-Url: https://codereview.webrtc.org/2893293003 Cr-Commit-Position: refs/heads/master@{#18399} Committed: https://chromium.googlesource.com/external/webrtc/+/1476a9d789db03457595cf7dbea7e362972f2a4d

Patch Set 1 : Fix unit tests. #

Total comments: 1

Patch Set 2 : Add support for FlexFEC in FecTest. #

Total comments: 9

Patch Set 3 : holmer comments 1. #

Patch Set 4 : Add loop. #

Patch Set 5 : Typo fix. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+194 lines, -110 lines) Patch
M webrtc/modules/rtp_rtcp/source/fec_test_helper.h View 2 chunks +2 lines, -2 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/fec_test_helper.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/forward_error_correction.h View 3 chunks +5 lines, -9 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/forward_error_correction.cc View 1 2 3 4 9 chunks +54 lines, -25 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_fec_unittest.cc View 1 2 7 chunks +90 lines, -58 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/ulpfec_receiver_impl.cc View 2 chunks +2 lines, -0 lines 0 comments Download
M webrtc/modules/rtp_rtcp/test/testFec/test_fec.cc View 1 7 chunks +38 lines, -13 lines 0 comments Download

Messages

Total messages: 31 (15 generated)
brandtr
Stefan, would you mind taking a look at this fix? You may have been involved ...
3 years, 7 months ago (2017-05-22 13:55:41 UTC) #2
brandtr
Add support for FlexFEC in FecTest.
3 years, 7 months ago (2017-05-22 13:58:23 UTC) #3
holmer
https://codereview.webrtc.org/2893293003/diff/20001/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc File webrtc/modules/rtp_rtcp/source/forward_error_correction.cc (right): https://codereview.webrtc.org/2893293003/diff/20001/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc#newcode493 webrtc/modules/rtp_rtcp/source/forward_error_correction.cc:493: // RED+ULPFEC is used. So there can't be a ...
3 years, 7 months ago (2017-05-23 16:47:32 UTC) #5
brandtr
Please take another look. https://codereview.webrtc.org/2893293003/diff/20001/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc File webrtc/modules/rtp_rtcp/source/forward_error_correction.cc (right): https://codereview.webrtc.org/2893293003/diff/20001/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc#newcode493 webrtc/modules/rtp_rtcp/source/forward_error_correction.cc:493: // RED+ULPFEC is used. On ...
3 years, 6 months ago (2017-05-30 13:12:50 UTC) #8
brandtr
https://codereview.webrtc.org/2893293003/diff/20001/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc File webrtc/modules/rtp_rtcp/source/forward_error_correction.cc (right): https://codereview.webrtc.org/2893293003/diff/20001/webrtc/modules/rtp_rtcp/source/forward_error_correction.cc#newcode500 webrtc/modules/rtp_rtcp/source/forward_error_correction.cc:500: received_fec_packets_.pop_front(); On 2017/05/30 13:12:49, brandtr wrote: > On 2017/05/23 ...
3 years, 6 months ago (2017-05-31 09:19:40 UTC) #9
brandtr
Added loop.
3 years, 6 months ago (2017-05-31 11:17:31 UTC) #11
brandtr
Typo fix.
3 years, 6 months ago (2017-06-01 12:07:01 UTC) #12
holmer
lgtm
3 years, 6 months ago (2017-06-01 14:08:43 UTC) #14
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/2893293003/120001
3 years, 6 months ago (2017-06-02 07:51:18 UTC) #20
commit-bot: I haz the power
No L-G-T-M from a valid reviewer yet. CQ run can only be started once the ...
3 years, 6 months ago (2017-06-02 07:51:20 UTC) #22
stefan-webrtc
lgtm
3 years, 6 months ago (2017-06-02 07:54:49 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/2893293003/120001
3 years, 6 months ago (2017-06-02 07:56:19 UTC) #25
commit-bot: I haz the power
Committed patchset #5 (id:120001) as https://chromium.googlesource.com/external/webrtc/+/1476a9d789db03457595cf7dbea7e362972f2a4d
3 years, 6 months ago (2017-06-02 07:58:17 UTC) #28
brandtr
A revert of this CL (patchset #5 id:120001) has been created in https://codereview.webrtc.org/2919313005/ by brandtr@webrtc.org. ...
3 years, 6 months ago (2017-06-05 13:58:19 UTC) #29
Taylor Brandstetter
On 2017/06/05 13:58:19, brandtr wrote: > A revert of this CL (patchset #5 id:120001) has ...
3 years, 6 months ago (2017-06-05 22:19:08 UTC) #30
brandtr
3 years, 6 months ago (2017-06-07 09:13:57 UTC) #31
Message was sent while issue was closed.
On 2017/06/05 22:19:08, Taylor Brandstetter wrote:
> On 2017/06/05 13:58:19, brandtr wrote:
> > A revert of this CL (patchset #5 id:120001) has been created in
> > https://codereview.webrtc.org/2919313005/ by mailto:brandtr@webrtc.org.
> > 
> > The reason for reverting is: Breaks fuzzer..
> 
> Note that this also broke a couple buildbots (or at least it's my best guess
for
> the culprit).
> 
>
https://chromium-swarm.appspot.com/task?id=3691553c47211510&refresh=10&show_r...
>
https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fclient.webrtc%2FAndroid3...

Yes, I saw something similar on a bot too. Turns out that receive SSRCs are not
always well-defined in the RTP receiver, which may hit the DCHECK that I added.

Powered by Google App Engine
This is Rietveld 408576698