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

Issue 2564333002: Reland of: Separating SCTP code from BaseChannel/MediaChannel. (Closed)

Created:
4 years ago by Taylor Brandstetter
Modified:
3 years, 11 months ago
Reviewers:
pthatcher1
CC:
webrtc-reviews_webrtc.org, the sun, tterriberry_mozilla.com
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

Reland of: Separating SCTP code from BaseChannel/MediaChannel. The BaseChannel code is geared around RTP; the presence of media engines, send and receive streams, SRTP, SDP directional attribute negotiation, etc. It doesn't make sense to use it for SCTP as well. This separation should make future work both on BaseChannel and the SCTP code paths easier. SctpDataEngine now becomes SctpTransport, and is used by WebRtcSession directly. cricket::DataChannel is also renamed, to RtpDataChannel, so it doesn't get confused with webrtc::DataChannel any more. Beyond just moving code around, some consequences of this CL: - We'll now stop using the worker thread for SCTP. Packets will be processed right on the network thread instead. - The SDP directional attribute is ignored, as it's supposed to be. BUG=None Review-Url: https://codereview.webrtc.org/2564333002 Cr-Original-Commit-Position: refs/heads/master@{#15906} Committed: https://chromium.googlesource.com/external/webrtc/+/67b3bbe639645ab719972682359acda303d94454 Review-Url: https://codereview.webrtc.org/2564333002 Cr-Commit-Position: refs/heads/master@{#15973} Committed: https://chromium.googlesource.com/external/webrtc/+/953c2cea5ef35e2278a512dfd466c47cca2203a6

Patch Set 1 #

Patch Set 2 : Updated rtc_media_unittests (and amazingly they're passing?) #

Patch Set 3 : Got rest of tests passing (aside from ones with TODOs), simplified interface. #

Patch Set 4 : Added SctpTransport factory interface, for proper testing. Fixed remaining tests. #

Patch Set 5 : Various cleanup. #

Total comments: 2

Patch Set 6 : Trying to fix patch error #

Patch Set 7 : Fixing log statements. #

Patch Set 8 : Fixing the "PreservedErrno" workaround. #

Patch Set 9 : Another attempt. #

Total comments: 27

Patch Set 10 : Adding TODO and some thread checking. #

Patch Set 11 : Use rtc::Optional for sctp content/transport name. #

Patch Set 12 : Use union for ssrc and sid. #

Total comments: 6

Patch Set 13 : Added DCHECKs. #

Patch Set 14 : Merge with master #

Patch Set 15 : Removing hybriddataengine.h from BUILD.gn #

Patch Set 16 : Don't try applying SCTP parameters until both local and remote desc have data m= section. #

Patch Set 17 : Merge with master. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2827 lines, -2481 lines) Patch
M webrtc/api/datachannel.h View 1 chunk +3 lines, -4 lines 0 comments Download
M webrtc/api/datachannel.cc View 1 2 3 4 5 6 7 8 9 10 11 7 chunks +14 lines, -15 lines 0 comments Download
M webrtc/api/datachannel_unittest.cc View 7 chunks +11 lines, -11 lines 0 comments Download
M webrtc/api/peerconnection.cc View 1 2 3 5 chunks +12 lines, -5 lines 0 comments Download
M webrtc/api/peerconnectioninterface_unittest.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M webrtc/api/rtcstatscollector.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +9 lines, -3 lines 0 comments Download
M webrtc/api/test/mock_webrtcsession.h View 1 2 3 4 2 chunks +3 lines, -1 line 0 comments Download
M webrtc/api/webrtcsdp.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -1 line 0 comments Download
M webrtc/api/webrtcsession.h View 1 2 3 4 5 6 7 8 9 10 14 chunks +81 lines, -23 lines 0 comments Download
M webrtc/api/webrtcsession.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 28 chunks +348 lines, -137 lines 0 comments Download
M webrtc/api/webrtcsession_unittest.cc View 1 2 3 4 5 6 7 8 9 10 13 chunks +124 lines, -43 lines 0 comments Download
M webrtc/api/webrtcsessiondescriptionfactory.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M webrtc/media/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +4 lines, -4 lines 0 comments Download
M webrtc/media/base/fakemediaengine.h View 1 2 2 chunks +2 lines, -7 lines 0 comments Download
D webrtc/media/base/hybriddataengine.h View 1 chunk +0 lines, -60 lines 0 comments Download
M webrtc/media/base/mediachannel.h View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +19 lines, -21 lines 0 comments Download
M webrtc/media/base/mediaconstants.h View 1 2 1 chunk +3 lines, -3 lines 0 comments Download
M webrtc/media/base/mediaengine.h View 1 2 1 chunk +1 line, -2 lines 0 comments Download
M webrtc/media/base/rtpdataengine.h View 1 chunk +1 line, -2 lines 0 comments Download
M webrtc/media/base/rtpdataengine.cc View 1 chunk +0 lines, -4 lines 0 comments Download
M webrtc/media/base/rtpdataengine_unittest.cc View 1 1 chunk +1 line, -2 lines 0 comments Download
M webrtc/media/sctp/sctpdataengine.h View 1 2 1 chunk +0 lines, -250 lines 0 comments Download
M webrtc/media/sctp/sctpdataengine.cc View 1 2 1 chunk +0 lines, -1066 lines 0 comments Download
M webrtc/media/sctp/sctpdataengine_unittest.cc View 1 2 1 chunk +0 lines, -523 lines 0 comments Download
A webrtc/media/sctp/sctptransport.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +193 lines, -0 lines 0 comments Download
A webrtc/media/sctp/sctptransport.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1090 lines, -0 lines 0 comments Download
A webrtc/media/sctp/sctptransport_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +563 lines, -0 lines 0 comments Download
A webrtc/media/sctp/sctptransportinternal.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +137 lines, -0 lines 0 comments Download
M webrtc/pc/channel.h View 1 2 3 4 8 chunks +24 lines, -37 lines 0 comments Download
M webrtc/pc/channel.cc View 1 2 3 4 15 chunks +67 lines, -124 lines 0 comments Download
M webrtc/pc/channel_unittest.cc View 1 2 4 chunks +76 lines, -76 lines 0 comments Download
M webrtc/pc/channelmanager.h View 1 2 4 chunks +8 lines, -10 lines 0 comments Download
M webrtc/pc/channelmanager.cc View 1 2 3 chunks +22 lines, -37 lines 0 comments Download
M webrtc/pc/channelmanager_unittest.cc View 1 2 2 chunks +8 lines, -8 lines 0 comments Download

Messages

Total messages: 38 (23 generated)
Taylor Brandstetter
Hi Peter; I think this CL is finally ready for review. I think this will ...
4 years ago (2016-12-22 22:59:48 UTC) #3
pthatcher1
Impressive refactoring. https://codereview.webrtc.org/2564333002/diff/160001/webrtc/api/webrtcsession.cc File webrtc/api/webrtcsession.cc (right): https://codereview.webrtc.org/2564333002/diff/160001/webrtc/api/webrtcsession.cc#newcode521 webrtc/api/webrtcsession.cc:521: SignalDataChannelDestroyed(); Should this be SignalSctpTransportDestroyed()? https://codereview.webrtc.org/2564333002/diff/160001/webrtc/api/webrtcsession.cc#newcode1292 webrtc/api/webrtcsession.cc:1292: ...
3 years, 12 months ago (2016-12-23 01:39:32 UTC) #12
Taylor Brandstetter
https://codereview.webrtc.org/2564333002/diff/160001/webrtc/api/webrtcsession.cc File webrtc/api/webrtcsession.cc (right): https://codereview.webrtc.org/2564333002/diff/160001/webrtc/api/webrtcsession.cc#newcode521 webrtc/api/webrtcsession.cc:521: SignalDataChannelDestroyed(); On 2016/12/23 01:39:31, pthatcher1 wrote: > Should this ...
3 years, 12 months ago (2016-12-23 06:29:05 UTC) #13
pthatcher1
I'm still looking into the areas you pointed out that needed more review. https://codereview.webrtc.org/2564333002/diff/160001/webrtc/media/sctp/sctptransportinternal.h File ...
3 years, 11 months ago (2017-01-03 18:31:26 UTC) #14
pthatcher1
Everything else looks good.
3 years, 11 months ago (2017-01-03 18:39:39 UTC) #15
pthatcher1
lgtm
3 years, 11 months ago (2017-01-03 18:39:53 UTC) #16
pthatcher1
https://codereview.webrtc.org/2564333002/diff/160001/webrtc/media/sctp/sctptransportinternal.h File webrtc/media/sctp/sctptransportinternal.h (right): https://codereview.webrtc.org/2564333002/diff/160001/webrtc/media/sctp/sctptransportinternal.h#newcode75 webrtc/media/sctp/sctptransportinternal.h:75: virtual bool Start(int local_sctp_port, int remote_sctp_port) = 0; On ...
3 years, 11 months ago (2017-01-03 20:45:00 UTC) #17
Taylor Brandstetter
https://codereview.webrtc.org/2564333002/diff/60002/webrtc/api/webrtcsession.cc File webrtc/api/webrtcsession.cc (right): https://codereview.webrtc.org/2564333002/diff/60002/webrtc/api/webrtcsession.cc#newcode1105 webrtc/api/webrtcsession.cc:1105: bundle.HasContentName(*sctp_content_name_)) { On 2017/01/03 18:31:26, pthatcher1 wrote: > Would ...
3 years, 11 months ago (2017-01-03 23:45:02 UTC) #18
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/2564333002/240001
3 years, 11 months ago (2017-01-05 01:27:27 UTC) #25
commit-bot: I haz the power
Committed patchset #14 (id:240001) as https://chromium.googlesource.com/external/webrtc/+/67b3bbe639645ab719972682359acda303d94454
3 years, 11 months ago (2017-01-05 02:38:10 UTC) #28
Taylor Brandstetter
A revert of this CL (patchset #14 id:240001) has been created in https://codereview.webrtc.org/2614813003/ by deadbeef@webrtc.org. ...
3 years, 11 months ago (2017-01-05 04:24:29 UTC) #29
Taylor Brandstetter
Hi Peter, can you take a look at just the last patchset (16)? I was ...
3 years, 11 months ago (2017-01-05 05:15:24 UTC) #31
pthatcher1
lgtm
3 years, 11 months ago (2017-01-06 23:43:46 UTC) #32
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/2564333002/300001
3 years, 11 months ago (2017-01-09 21:53:44 UTC) #35
commit-bot: I haz the power
3 years, 11 months ago (2017-01-09 22:53:46 UTC) #38
Message was sent while issue was closed.
Committed patchset #17 (id:300001) as
https://chromium.googlesource.com/external/webrtc/+/953c2cea5ef35e2278a512dfd...

Powered by Google App Engine
This is Rietveld 408576698