Make RtpTransport actually implement RtpTransportInterface
BUG=webrtc:7013 Review-Url: https://codereview.webrtc.org/2805783002 Cr-Commit-Position: refs/heads/master@{#17628}
This commit is contained in:
parent
0f92c796b4
commit
d9ce76444f
@ -11,13 +11,50 @@
|
||||
#include "webrtc/pc/rtptransport.h"
|
||||
|
||||
#include "webrtc/base/checks.h"
|
||||
#include "webrtc/p2p/base/packettransportinterface.h"
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
void RtpTransport::set_rtp_packet_transport(rtc::PacketTransportInternal* rtp) {
|
||||
rtp_packet_transport_ = rtp;
|
||||
}
|
||||
|
||||
void RtpTransport::set_rtcp_packet_transport(
|
||||
rtc::PacketTransportInternal* rtcp) {
|
||||
RTC_DCHECK(!rtcp_mux_required_);
|
||||
rtcp_packet_transport_ = rtcp;
|
||||
}
|
||||
|
||||
PacketTransportInterface* RtpTransport::GetRtpPacketTransport() const {
|
||||
return rtp_packet_transport_;
|
||||
}
|
||||
|
||||
PacketTransportInterface* RtpTransport::GetRtcpPacketTransport() const {
|
||||
return rtcp_packet_transport_;
|
||||
}
|
||||
|
||||
RTCError RtpTransport::SetRtcpParameters(const RtcpParameters& parameters) {
|
||||
if (rtcp_parameters_.mux && !parameters.mux) {
|
||||
LOG_AND_RETURN_ERROR(RTCErrorType::INVALID_STATE,
|
||||
"Disabling RTCP muxing is not allowed.");
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
@ -11,6 +11,8 @@
|
||||
#ifndef WEBRTC_PC_RTPTRANSPORT_H_
|
||||
#define WEBRTC_PC_RTPTRANSPORT_H_
|
||||
|
||||
#include "webrtc/api/ortc/rtptransportinterface.h"
|
||||
|
||||
namespace rtc {
|
||||
|
||||
class PacketTransportInternal;
|
||||
@ -19,7 +21,7 @@ class PacketTransportInternal;
|
||||
|
||||
namespace webrtc {
|
||||
|
||||
class RtpTransport {
|
||||
class RtpTransport : public RtpTransportInterface {
|
||||
public:
|
||||
RtpTransport(const RtpTransport&) = delete;
|
||||
RtpTransport& operator=(const RtpTransport&) = delete;
|
||||
@ -32,24 +34,33 @@ class RtpTransport {
|
||||
rtc::PacketTransportInternal* rtp_packet_transport() const {
|
||||
return rtp_packet_transport_;
|
||||
}
|
||||
void set_rtp_packet_transport(rtc::PacketTransportInternal* rtp) {
|
||||
rtp_packet_transport_ = rtp;
|
||||
}
|
||||
void set_rtp_packet_transport(rtc::PacketTransportInternal* rtp);
|
||||
|
||||
rtc::PacketTransportInternal* rtcp_packet_transport() const {
|
||||
return rtcp_packet_transport_;
|
||||
}
|
||||
void set_rtcp_packet_transport(rtc::PacketTransportInternal* rtcp);
|
||||
|
||||
PacketTransportInterface* GetRtpPacketTransport() const override;
|
||||
PacketTransportInterface* GetRtcpPacketTransport() const override;
|
||||
|
||||
// TODO(zstein): Use these RtcpParameters for configuration elsewhere.
|
||||
RTCError SetRtcpParameters(const RtcpParameters& parameters) override;
|
||||
RtcpParameters GetRtcpParameters() const override;
|
||||
|
||||
protected:
|
||||
// TODO(zstein): Remove this when we remove RtpTransportAdapter.
|
||||
RtpTransportAdapter* GetInternal() override;
|
||||
|
||||
private:
|
||||
// True if RTCP-multiplexing is required. rtcp_packet_transport_ should
|
||||
// always be null in this case.
|
||||
const bool rtcp_mux_required_;
|
||||
|
||||
// TODO(zstein): Revisit ownership here - transports are currently owned by
|
||||
// TransportController
|
||||
rtc::PacketTransportInternal* rtp_packet_transport_ = nullptr;
|
||||
rtc::PacketTransportInternal* rtcp_packet_transport_ = nullptr;
|
||||
|
||||
RtcpParameters rtcp_parameters_;
|
||||
};
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user