Replace BundleFilter with RtpDemuxer in RtpTransport.
BundleFilter is replaced by RtpDemuxer in RtpTransport for payload
type-based demuxing. RtpTransport will support MID-based demuxing later.
Each BaseChannel has its own RTP demuxing criteria and when connecting
to the RtpTransport, BaseChannel will register itself as a demuxer sink.
The inheritance model is changed. New inheritance chain:
DtlsSrtpTransport->SrtpTransport->RtpTranpsort
The JsepTransport2 is renamed to JsepTransport.
NOTE:
When RTCP packets are received, Call::DeliverRtcp will be called for
multiple times (webrtc:9035) which is an existing issue. With this CL,
it will become more of a problem and should be fixed.
Bug: webrtc:8587
Change-Id: Ibd880e7b744bd912336a691309950bc18e42cf62
Reviewed-on: https://webrtc-review.googlesource.com/65786
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Benjamin Wright <benwright@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22867}
diff --git a/pc/peerconnection.h b/pc/peerconnection.h
index fa46a4e..c019ef9 100644
--- a/pc/peerconnection.h
+++ b/pc/peerconnection.h
@@ -51,6 +51,7 @@
// - Generating stats.
class PeerConnection : public PeerConnectionInternal,
public DataChannelProviderInterface,
+ public JsepTransportController::Observer,
public rtc::MessageHandler,
public sigslot::has_slots<> {
public:
@@ -877,11 +878,13 @@
// method is called.
void DestroyBaseChannel(cricket::BaseChannel* channel);
- void OnRtpTransportChanged(const std::string& mid,
- RtpTransportInternal* rtp_transport);
+ // JsepTransportController::Observer override.
+ bool OnRtpTransportChanged(const std::string& mid,
+ RtpTransportInternal* rtp_transport) override;
- void OnDtlsTransportChanged(const std::string& mid,
- cricket::DtlsTransportInternal* dtls_transport);
+ void OnDtlsTransportChanged(
+ const std::string& mid,
+ cricket::DtlsTransportInternal* dtls_transport) override;
sigslot::signal1<DataChannel*> SignalDataChannelCreated_;