Index: webrtc/modules/rtp_rtcp/source/rtcp_receiver.h |
diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_receiver.h b/webrtc/modules/rtp_rtcp/source/rtcp_receiver.h |
index 747a75e87b66f180cebdca197d7947733c181e31..49f9c0d2e3accb305d4b84fad4362fd511b8560c 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtcp_receiver.h |
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_receiver.h |
@@ -11,6 +11,7 @@ |
#ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_H_ |
#define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_RECEIVER_H_ |
+#include <list> |
#include <map> |
#include <set> |
#include <vector> |
@@ -20,23 +21,39 @@ |
#include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" |
#include "webrtc/modules/rtp_rtcp/source/rtcp_receiver_help.h" |
#include "webrtc/modules/rtp_rtcp/source/rtcp_utility.h" |
-#include "webrtc/modules/rtp_rtcp/source/rtp_utility.h" |
#include "webrtc/typedefs.h" |
namespace webrtc { |
-class ModuleRtpRtcpImpl; |
+namespace rtcp { |
+class TmmbItem; |
+} // namespace rtcp |
class RTCPReceiver { |
public: |
+ class SenderCallbacks { |
philipel
2016/08/24 13:50:26
I think this name is a bit ambiguous. Maybe call i
danilchap
2016/08/26 11:47:51
Can agree name is ambigous, SenderCallbacks sounds
|
+ public: |
+ virtual void SetTmmbn(std::vector<rtcp::TmmbItem> bounding_set) = 0; |
+ virtual void OnRequestSendReport() = 0; |
+ virtual void OnReceivedNACK( |
philipel
2016/08/24 13:50:26
OnReceiverNack
danilchap
2016/08/26 11:47:51
done in separate CL since it is unrelated to this
|
+ const std::list<uint16_t>& nack_sequence_numbers) = 0; |
philipel
2016/08/24 13:50:26
If it only requires a small change, use vector ins
danilchap
2016/08/26 11:47:51
Not that small, done in separate CL since it is un
|
+ virtual void OnReceivedRtcpReportBlocks( |
+ const ReportBlockList& report_blocks) = 0; |
+ |
+ protected: |
+ virtual ~SenderCallbacks() = default; |
+ }; |
+ |
RTCPReceiver(Clock* clock, |
bool receiver_only, |
RtcpPacketTypeCounterObserver* packet_type_counter_observer, |
RtcpBandwidthObserver* rtcp_bandwidth_observer, |
RtcpIntraFrameObserver* rtcp_intra_frame_observer, |
TransportFeedbackObserver* transport_feedback_observer, |
- ModuleRtpRtcpImpl* owner); |
+ SenderCallbacks* sender_callbacks); |
virtual ~RTCPReceiver(); |
+ bool IncomingPacket(const uint8_t* packet, size_t packet_size); |
+ |
int64_t LastReceived(); |
int64_t LastReceivedReceiverReport() const; |
@@ -257,7 +274,7 @@ class RTCPReceiver { |
Clock* const _clock; |
const bool receiver_only_; |
int64_t _lastReceived; |
- ModuleRtpRtcpImpl& _rtpRtcp; |
+ SenderCallbacks& _rtpRtcp; |
rtc::CriticalSection _criticalSectionFeedbacks; |
RtcpBandwidthObserver* const _cbRtcpBandwidthObserver; |