Add SCTP transport to the public API.

This involves inserting an extra layer between jsep_transport_controller
and the cricket::SctpTransportInternal layer. The objects at this layer
are reference counted.

Bug: chromium:818643
Change-Id: Ibed57c4a538de981cee63e0f7f1f319f029cab39
Reviewed-on: https://webrtc-review.googlesource.com/c/123884
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26889}
This commit is contained in:
Harald Alvestrand
2019-02-28 07:51:00 +01:00
committed by Commit Bot
parent 60fd73a9fc
commit c85328f2ca
17 changed files with 537 additions and 31 deletions

View File

@ -122,6 +122,7 @@ class AudioDeviceModule;
class AudioMixer;
class AudioProcessing;
class DtlsTransportInterface;
class SctpTransportInterface;
class VideoDecoderFactory;
class VideoEncoderFactory;
@ -1038,6 +1039,10 @@ class PeerConnectionInterface : public rtc::RefCountInterface {
virtual rtc::scoped_refptr<DtlsTransportInterface> LookupDtlsTransportByMid(
const std::string& mid);
// Returns the SCTP transport, if any.
// TODO(hta): Remove default implementation after updating Chrome.
virtual rtc::scoped_refptr<SctpTransportInterface> GetSctpTransport() const;
// Returns the current SignalingState.
virtual SignalingState signaling_state() = 0;