mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-14 22:30:40 +01:00

The usage of MetricsObserverInterface to log metrics has been replaced by RTC_HISTOGRAM_* macros in WebRTC. Bug: webrtc:9409 Change-Id: I67df74a18942ac7ea4227e4affdf84f06258a287 Reviewed-on: https://webrtc-review.googlesource.com/86780 Commit-Queue: Qingsi Wang <qingsi@google.com> Reviewed-by: Steve Anton <steveanton@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Qingsi Wang <qingsi@webrtc.org> Cr-Commit-Position: refs/heads/master@{#24048}
114 lines
3.6 KiB
C++
114 lines
3.6 KiB
C++
/*
|
|
* Copyright 2017 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
#ifndef PC_RTPTRANSPORTINTERNALADAPTER_H_
|
|
#define PC_RTPTRANSPORTINTERNALADAPTER_H_
|
|
|
|
#include <memory>
|
|
#include <utility>
|
|
|
|
#include "pc/rtptransportinternal.h"
|
|
|
|
namespace webrtc {
|
|
|
|
// This class is used by SrtpTransport and DtlsSrtpTransport in order to reduce
|
|
// the duplicated code. Using this class, different subclasses can override only
|
|
// part of RtpTransportInternal methods without implementing all the common
|
|
// methods.
|
|
class RtpTransportInternalAdapter : public RtpTransportInternal {
|
|
public:
|
|
RtpTransportInternalAdapter() {}
|
|
|
|
explicit RtpTransportInternalAdapter(RtpTransportInternal* transport)
|
|
: transport_(transport) {
|
|
RTC_DCHECK(transport_);
|
|
}
|
|
|
|
void SetRtcpMuxEnabled(bool enable) override {
|
|
transport_->SetRtcpMuxEnabled(enable);
|
|
}
|
|
|
|
bool rtcp_mux_enabled() const override {
|
|
return transport_->rtcp_mux_enabled();
|
|
}
|
|
|
|
rtc::PacketTransportInternal* rtp_packet_transport() const override {
|
|
return transport_->rtp_packet_transport();
|
|
}
|
|
void SetRtpPacketTransport(rtc::PacketTransportInternal* rtp) override {
|
|
transport_->SetRtpPacketTransport(rtp);
|
|
}
|
|
|
|
rtc::PacketTransportInternal* rtcp_packet_transport() const override {
|
|
return transport_->rtcp_packet_transport();
|
|
}
|
|
void SetRtcpPacketTransport(rtc::PacketTransportInternal* rtcp) override {
|
|
transport_->SetRtcpPacketTransport(rtcp);
|
|
}
|
|
|
|
bool IsReadyToSend() const override { return transport_->IsReadyToSend(); }
|
|
|
|
bool IsWritable(bool rtcp) const override {
|
|
return transport_->IsWritable(rtcp);
|
|
}
|
|
|
|
bool SendRtpPacket(rtc::CopyOnWriteBuffer* packet,
|
|
const rtc::PacketOptions& options,
|
|
int flags) override {
|
|
return transport_->SendRtpPacket(packet, options, flags);
|
|
}
|
|
|
|
bool SendRtcpPacket(rtc::CopyOnWriteBuffer* packet,
|
|
const rtc::PacketOptions& options,
|
|
int flags) override {
|
|
return transport_->SendRtcpPacket(packet, options, flags);
|
|
}
|
|
|
|
void UpdateRtpHeaderExtensionMap(
|
|
const cricket::RtpHeaderExtensions& header_extensions) override {
|
|
transport_->UpdateRtpHeaderExtensionMap(header_extensions);
|
|
}
|
|
|
|
bool RegisterRtpDemuxerSink(const RtpDemuxerCriteria& criteria,
|
|
RtpPacketSinkInterface* sink) override {
|
|
return transport_->RegisterRtpDemuxerSink(criteria, sink);
|
|
}
|
|
|
|
bool UnregisterRtpDemuxerSink(RtpPacketSinkInterface* sink) override {
|
|
return transport_->UnregisterRtpDemuxerSink(sink);
|
|
}
|
|
|
|
// RtpTransportInterface overrides.
|
|
PacketTransportInterface* GetRtpPacketTransport() const override {
|
|
return transport_->GetRtpPacketTransport();
|
|
}
|
|
|
|
PacketTransportInterface* GetRtcpPacketTransport() const override {
|
|
return transport_->GetRtcpPacketTransport();
|
|
}
|
|
|
|
RTCError SetParameters(const RtpTransportParameters& parameters) override {
|
|
return transport_->SetParameters(parameters);
|
|
}
|
|
|
|
RtpTransportParameters GetParameters() const override {
|
|
return transport_->GetParameters();
|
|
}
|
|
|
|
RtpTransportAdapter* GetInternal() override { return nullptr; }
|
|
|
|
protected:
|
|
// Owned by the subclasses.
|
|
RtpTransportInternal* transport_ = nullptr;
|
|
};
|
|
|
|
} // namespace webrtc
|
|
|
|
#endif // PC_RTPTRANSPORTINTERNALADAPTER_H_
|