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

Unified Diff: webrtc/pc/rtptransport.cc

Issue 2805783002: Make RtpTransport actually implement RtpTransportInterface (Closed)
Patch Set: Add a TODO about RtpTransport::GetInternal Created 3 years, 8 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
« webrtc/pc/rtptransport.h ('K') | « webrtc/pc/rtptransport.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/pc/rtptransport.cc
diff --git a/webrtc/pc/rtptransport.cc b/webrtc/pc/rtptransport.cc
index eb463db0bfb53afd7a045ca38613aac7479b10ae..f11fe36c01518c91c0230d53fd6bcd3a5b7104be 100644
--- a/webrtc/pc/rtptransport.cc
+++ b/webrtc/pc/rtptransport.cc
@@ -11,13 +11,57 @@
#include "webrtc/pc/rtptransport.h"
#include "webrtc/base/checks.h"
+#include "webrtc/base/ptr_util.h"
namespace webrtc {
+RtpTransport::RtpTransport(bool rtcp_mux_required)
+ : rtcp_mux_required_(rtcp_mux_required),
+ rtp_packet_transport_wrapper_(rtc::MakeUnique<PacketTransportWrapper>()),
+ rtcp_packet_transport_wrapper_(
+ rtc::MakeUnique<PacketTransportWrapper>()) {}
+
+void RtpTransport::set_rtp_packet_transport(rtc::PacketTransportInternal* rtp) {
+ rtp_packet_transport_wrapper_->set_transport(rtp);
+}
+
void RtpTransport::set_rtcp_packet_transport(
rtc::PacketTransportInternal* rtcp) {
RTC_DCHECK(!rtcp_mux_required_);
- rtcp_packet_transport_ = rtcp;
+ rtcp_packet_transport_wrapper_->set_transport(rtcp);
+}
+
+PacketTransportInterface* RtpTransport::GetRtpPacketTransport() const {
+ return rtp_packet_transport_wrapper_.get();
+}
+
+PacketTransportInterface* RtpTransport::GetRtcpPacketTransport() const {
+ return rtcp_packet_transport_wrapper_.get();
+}
+
+RTCError RtpTransport::SetRtcpParameters(const RtcpParameters& parameters) {
+ // disabling mux is not allowed
+ if (rtcp_parameters_.mux && !parameters.mux) {
+ return RTCError(RTCErrorType::INVALID_PARAMETER,
+ "disabling mux is not allowed");
Taylor Brandstetter 2017/04/07 04:16:03 Can use the LOG_AND_RETURN_ERROR macro so this get
Zach Stein 2017/04/10 22:37:43 Done.
+ }
+
+ RtcpParameters new_parameters = parameters;
+
+ if (new_parameters.cname.empty()) {
+ new_parameters.cname = rtcp_parameters_.cname;
+ }
+
+ rtcp_parameters_ = new_parameters;
+ return RTCError::OK();
+}
+
+RtcpParameters RtpTransport::GetRtcpParameters() const {
+ return rtcp_parameters_;
+}
+
+RtpTransportAdapter* RtpTransport::GetInternal() {
+ return nullptr;
}
} // namespace webrtc
« webrtc/pc/rtptransport.h ('K') | « webrtc/pc/rtptransport.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698