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

Unified Diff: webrtc/pc/channel.h

Issue 2626023005: Revert of Refactoring of RTCP options in BaseChannel. (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/api/webrtcsession.cc ('k') | webrtc/pc/channel.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/pc/channel.h
diff --git a/webrtc/pc/channel.h b/webrtc/pc/channel.h
index c7749a97156e2165a18a22d8217d199b28d580b9..e5180ca26f6cb3cad13406be27a7b22f1fa3eb61 100644
--- a/webrtc/pc/channel.h
+++ b/webrtc/pc/channel.h
@@ -83,7 +83,7 @@
rtc::Thread* signaling_thread,
MediaChannel* channel,
const std::string& content_name,
- bool rtcp_mux_required,
+ bool rtcp,
bool srtp_required);
virtual ~BaseChannel();
bool Init_w(TransportChannel* rtp_transport,
@@ -107,6 +107,11 @@
bool writable() const { return writable_; }
+ // Activate RTCP mux, regardless of the state so far. Once
+ // activated, it can not be deactivated, and if the remote
+ // description doesn't support RTCP mux, setting the remote
+ // description will fail.
+ void ActivateRtcpMux();
bool SetTransport(TransportChannel* rtp_transport,
TransportChannel* rtcp_transport);
bool PushdownLocalDescription(const SessionDescription* local_desc,
@@ -156,10 +161,9 @@
// Forward TransportChannel SignalSentPacket to worker thread.
sigslot::signal1<const rtc::SentPacket&> SignalSentPacket;
- // Emitted whenever rtcp-mux is fully negotiated and the rtcp-transport can
- // be destroyed.
- // Fired on the network thread.
- sigslot::signal1<const std::string&> SignalRtcpMuxFullyActive;
+ // Emitted whenever the rtcp-mux is active and the rtcp-transport can be
+ // destroyed.
+ sigslot::signal1<const std::string&> SignalDestroyRtcpTransport;
TransportChannel* rtp_transport() const { return rtp_transport_; }
TransportChannel* rtcp_transport() const { return rtcp_transport_; }
@@ -331,6 +335,7 @@
ContentAction action,
ContentSource src,
std::string* error_desc);
+ void ActivateRtcpMux_n();
bool SetRtcpMux_n(bool enable,
ContentAction action,
ContentSource src,
@@ -377,9 +382,10 @@
std::unique_ptr<ConnectionMonitor> connection_monitor_;
std::string transport_name_;
- // True if RTCP-multiplexing is required. In other words, no standalone RTCP
- // transport will ever be used for this channel.
- const bool rtcp_mux_required_;
+ // Is RTCP used at all by this type of channel?
+ // Expected to be true (as of typing this) for everything except data
+ // channels.
+ const bool rtcp_enabled_;
// TODO(johan): Replace TransportChannel* with rtc::PacketTransportInterface*.
TransportChannel* rtp_transport_ = nullptr;
std::vector<std::pair<rtc::Socket::Option, int> > socket_options_;
@@ -422,7 +428,7 @@
MediaEngineInterface* media_engine,
VoiceMediaChannel* channel,
const std::string& content_name,
- bool rtcp_mux_required,
+ bool rtcp,
bool srtp_required);
~VoiceChannel();
bool Init_w(TransportChannel* rtp_transport,
@@ -541,7 +547,7 @@
rtc::Thread* signaling_thread,
VideoMediaChannel* channel,
const std::string& content_name,
- bool rtcp_mux_required,
+ bool rtcp,
bool srtp_required);
~VideoChannel();
bool Init_w(TransportChannel* rtp_transport,
@@ -621,7 +627,7 @@
rtc::Thread* signaling_thread,
DataMediaChannel* channel,
const std::string& content_name,
- bool rtcp_mux_required,
+ bool rtcp,
bool srtp_required);
~RtpDataChannel();
bool Init_w(TransportChannel* rtp_transport,
« no previous file with comments | « webrtc/api/webrtcsession.cc ('k') | webrtc/pc/channel.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698