diff options
Diffstat (limited to 'media/cast/rtcp/rtcp_sender.h')
-rw-r--r-- | media/cast/rtcp/rtcp_sender.h | 29 |
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); }; |