Add API for returning a webrtc::DtlsTransport for a MID on a PC

This includes a refactoring of jseptransport to store a refcounted
object instead of a std::unique_ptr to the cricket::DtlsTransport.

Bug: chromium:907849
Change-Id: Ib557ce72c2e6ce8af297c2b8deb7ec3a103d6d31
Reviewed-on: https://webrtc-review.googlesource.com/c/111920
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25831}
This commit is contained in:
Harald Alvestrand
2018-11-28 16:47:46 +01:00
committed by Commit Bot
parent 3e70781361
commit ad88c886d7
18 changed files with 231 additions and 39 deletions

View File

@ -129,6 +129,7 @@ namespace webrtc {
class AudioDeviceModule;
class AudioMixer;
class AudioProcessing;
class DtlsTransportInterface;
class MediaConstraintsInterface;
class VideoDecoderFactory;
class VideoEncoderFactory;
@ -1029,6 +1030,14 @@ class PeerConnectionInterface : public rtc::RefCountInterface {
// TODO(henrika): deprecate and remove this.
virtual void SetAudioRecording(bool recording) {}
// Looks up the DtlsTransport associated with a MID value.
// In the Javascript API, DtlsTransport is a property of a sender, but
// because the PeerConnection owns the DtlsTransport in this implementation,
// it is better to look them up on the PeerConnection.
virtual rtc::scoped_refptr<DtlsTransportInterface> LookupDtlsTransportByMid(
const std::string& mid);
// TODO(hta): Remove default implementation.
// Returns the current SignalingState.
virtual SignalingState signaling_state() = 0;