summaryrefslogtreecommitdiff
path: root/media/cast/rtcp/rtcp_sender.h
diff options
context:
space:
mode:
Diffstat (limited to 'media/cast/rtcp/rtcp_sender.h')
-rw-r--r--media/cast/rtcp/rtcp_sender.h29
1 files changed, 21 insertions, 8 deletions
diff --git a/media/cast/rtcp/rtcp_sender.h b/media/cast/rtcp/rtcp_sender.h
index 7dbbc0f95b..24915ddc83 100644
--- a/media/cast/rtcp/rtcp_sender.h
+++ b/media/cast/rtcp/rtcp_sender.h
@@ -18,19 +18,23 @@ namespace cast {
class RtcpSender {
public:
- RtcpSender(PacedPacketSender* const paced_packet_sender,
+ RtcpSender(scoped_refptr<CastEnvironment> cast_environment,
+ PacedPacketSender* const paced_packet_sender,
uint32 sending_ssrc,
const std::string& c_name);
virtual ~RtcpSender();
- void SendRtcp(uint32 packet_type_flags,
- const RtcpSenderInfo* sender_info,
- const RtcpReportBlock* report_block,
- uint32 pli_remote_ssrc,
- const RtcpDlrrReportBlock* dlrr,
- const RtcpReceiverReferenceTimeReport* rrtr,
- const RtcpCastMessage* cast_message);
+ void SendRtcpFromRtpSender(uint32 packet_type_flags,
+ const RtcpSenderInfo* sender_info,
+ const RtcpDlrrReportBlock* dlrr,
+ const RtcpSenderLogMessage* sender_log);
+
+ void SendRtcpFromRtpReceiver(uint32 packet_type_flags,
+ const RtcpReportBlock* report_block,
+ const RtcpReceiverReferenceTimeReport* rrtr,
+ const RtcpCastMessage* cast_message,
+ const RtcpReceiverLogMessage* receiver_log);
enum RtcpPacketType {
kRtcpSr = 0x0002,
@@ -45,6 +49,8 @@ class RtcpSender {
kRtcpRpsi = 0x8000,
kRtcpRemb = 0x10000,
kRtcpCast = 0x20000,
+ kRtcpSenderLog = 0x40000,
+ kRtcpReceiverLog = 0x80000,
};
private:
@@ -83,6 +89,12 @@ class RtcpSender {
void BuildCast(const RtcpCastMessage* cast_message,
std::vector<uint8>* packet) const;
+ void BuildSenderLog(const RtcpSenderLogMessage* sender_log_message,
+ std::vector<uint8>* packet) const;
+
+ void BuildReceiverLog(const RtcpReceiverLogMessage* receiver_log_message,
+ std::vector<uint8>* packet) const;
+
inline void BitrateToRembExponentBitrate(uint32 bitrate,
uint8* exponent,
uint32* mantissa) const {
@@ -102,6 +114,7 @@ class RtcpSender {
// Not owned by this class.
PacedPacketSender* transport_;
+ scoped_refptr<CastEnvironment> cast_environment_;
DISALLOW_COPY_AND_ASSIGN(RtcpSender);
};