Index: webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbr.h |
diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbn.h b/webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbr.h |
similarity index 50% |
copy from webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbn.h |
copy to webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbr.h |
index 82bf9dd9e96f7b154dac8b8e117bb578024b92ce..84a4180ad3fcac6d353c43f4219c24658cacf05e 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbn.h |
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_packet/tmmbr.h |
@@ -9,31 +9,38 @@ |
* |
*/ |
-#ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_TMMBN_H_ |
-#define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_TMMBN_H_ |
+#ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_TMMBR_H_ |
+#define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_TMMBR_H_ |
-#include <vector> |
#include "webrtc/base/basictypes.h" |
#include "webrtc/modules/rtp_rtcp/source/rtcp_packet.h" |
#include "webrtc/modules/rtp_rtcp/source/rtcp_utility.h" |
namespace webrtc { |
namespace rtcp { |
- |
-// Temporary Maximum Media Stream Bit Rate Notification (TMMBN) (RFC 5104). |
-class Tmmbn : public RtcpPacket { |
+// Temporary Maximum Media Stream Bit Rate Request (TMMBR) (RFC 5104). |
+class Tmmbr : public RtcpPacket { |
public: |
- Tmmbn() : RtcpPacket() { |
- memset(&tmmbn_, 0, sizeof(tmmbn_)); |
+ Tmmbr() : RtcpPacket() { |
+ memset(&tmmbr_, 0, sizeof(tmmbr_)); |
+ memset(&tmmbr_item_, 0, sizeof(tmmbr_item_)); |
} |
- virtual ~Tmmbn() {} |
+ virtual ~Tmmbr() {} |
void From(uint32_t ssrc) { |
- tmmbn_.SenderSSRC = ssrc; |
+ tmmbr_.SenderSSRC = ssrc; |
+ } |
+ void To(uint32_t ssrc) { |
+ tmmbr_item_.SSRC = ssrc; |
+ } |
+ void WithBitrateKbps(uint32_t bitrate_kbps) { |
+ tmmbr_item_.MaxTotalMediaBitRate = bitrate_kbps; |
+ } |
+ void WithOverhead(uint16_t overhead) { |
+ assert(overhead <= 0x1ff); |
+ tmmbr_item_.MeasuredOverhead = overhead; |
} |
- // Max 50 TMMBR can be added per TMMBN. |
- bool WithTmmbr(uint32_t ssrc, uint32_t bitrate_kbps, uint16_t overhead); |
protected: |
bool Create(uint8_t* packet, |
@@ -42,19 +49,16 @@ class Tmmbn : public RtcpPacket { |
RtcpPacket::PacketReadyCallback* callback) const override; |
private: |
- static const int kMaxNumberOfTmmbrs = 50; |
- |
size_t BlockLength() const { |
const size_t kFciLen = 8; |
- return kCommonFbFmtLength + kFciLen * tmmbn_items_.size(); |
+ return kCommonFbFmtLength + kFciLen; |
} |
- RTCPUtility::RTCPPacketRTPFBTMMBN tmmbn_; |
- std::vector<RTCPUtility::RTCPPacketRTPFBTMMBRItem> tmmbn_items_; |
+ RTCPUtility::RTCPPacketRTPFBTMMBR tmmbr_; |
+ RTCPUtility::RTCPPacketRTPFBTMMBRItem tmmbr_item_; |
- RTC_DISALLOW_COPY_AND_ASSIGN(Tmmbn); |
+ RTC_DISALLOW_COPY_AND_ASSIGN(Tmmbr); |
}; |
- |
} // namespace rtcp |
} // namespace webrtc |
-#endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_TMMBN_H_ |
+#endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_TMMBR_H_ |