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

Unified Diff: webrtc/pc/channel.h

Issue 2622613004: Refactoring of RTCP options in BaseChannel. (Closed)
Patch Set: Minor renaming/adding a comment, which makes sense to do after this refactoring. 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 e5180ca26f6cb3cad13406be27a7b22f1fa3eb61..c7749a97156e2165a18a22d8217d199b28d580b9 100644
--- a/webrtc/pc/channel.h
+++ b/webrtc/pc/channel.h
@@ -83,7 +83,7 @@ class BaseChannel
rtc::Thread* signaling_thread,
MediaChannel* channel,
const std::string& content_name,
- bool rtcp,
+ bool rtcp_mux_required,
bool srtp_required);
virtual ~BaseChannel();
bool Init_w(TransportChannel* rtp_transport,
@@ -107,11 +107,6 @@ class BaseChannel
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,
@@ -161,9 +156,10 @@ class BaseChannel
// Forward TransportChannel SignalSentPacket to worker thread.
sigslot::signal1<const rtc::SentPacket&> SignalSentPacket;
- // Emitted whenever the rtcp-mux is active and the rtcp-transport can be
- // destroyed.
- sigslot::signal1<const std::string&> SignalDestroyRtcpTransport;
+ // 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;
TransportChannel* rtp_transport() const { return rtp_transport_; }
TransportChannel* rtcp_transport() const { return rtcp_transport_; }
@@ -335,7 +331,6 @@ class BaseChannel
ContentAction action,
ContentSource src,
std::string* error_desc);
- void ActivateRtcpMux_n();
bool SetRtcpMux_n(bool enable,
ContentAction action,
ContentSource src,
@@ -382,10 +377,9 @@ class BaseChannel
std::unique_ptr<ConnectionMonitor> connection_monitor_;
std::string transport_name_;
- // 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_;
+ // 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_;
// TODO(johan): Replace TransportChannel* with rtc::PacketTransportInterface*.
TransportChannel* rtp_transport_ = nullptr;
std::vector<std::pair<rtc::Socket::Option, int> > socket_options_;
@@ -428,7 +422,7 @@ class VoiceChannel : public BaseChannel {
MediaEngineInterface* media_engine,
VoiceMediaChannel* channel,
const std::string& content_name,
- bool rtcp,
+ bool rtcp_mux_required,
bool srtp_required);
~VoiceChannel();
bool Init_w(TransportChannel* rtp_transport,
@@ -547,7 +541,7 @@ class VideoChannel : public BaseChannel {
rtc::Thread* signaling_thread,
VideoMediaChannel* channel,
const std::string& content_name,
- bool rtcp,
+ bool rtcp_mux_required,
bool srtp_required);
~VideoChannel();
bool Init_w(TransportChannel* rtp_transport,
@@ -627,7 +621,7 @@ class RtpDataChannel : public BaseChannel {
rtc::Thread* signaling_thread,
DataMediaChannel* channel,
const std::string& content_name,
- bool rtcp,
+ bool rtcp_mux_required,
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