Add rtcp observers for media receiver to RtcpTransceiverImpl

Bug: webrtc:8239
Change-Id: I7b6735f2efb87e303d1b8076c965a751db4af250
Reviewed-on: https://webrtc-review.googlesource.com/31980
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21240}
This commit is contained in:
Danil Chapovalov
2017-12-13 12:26:17 +01:00
committed by Commit Bot
parent e97de91d39
commit 7ca9ae2e26
5 changed files with 322 additions and 18 deletions

View File

@ -13,6 +13,7 @@
#include <string>
#include "common_types.h" // NOLINT(build/include)
#include "modules/rtp_rtcp/include/rtp_rtcp_defines.h"
#include "rtc_base/task_queue.h"
@ -20,6 +21,21 @@ namespace webrtc {
class ReceiveStatisticsProvider;
class Transport;
// Interface to watch incoming rtcp packets by media (rtp) receiver.
class MediaReceiverRtcpObserver {
public:
virtual ~MediaReceiverRtcpObserver() = default;
// All message handlers have default empty implementation. This way user needs
// to implement only those she is interested in.
virtual void OnSenderReport(uint32_t sender_ssrc,
NtpTime ntp_time,
uint32_t rtp_time) {}
virtual void OnBye(uint32_t sender_ssrc) {}
virtual void OnBitrateAllocation(uint32_t sender_ssrc,
const BitrateAllocation& allocation) {}
};
struct RtcpTransceiverConfig {
RtcpTransceiverConfig();
RtcpTransceiverConfig(const RtcpTransceiverConfig&);