Index: webrtc/modules/rtp_rtcp/source/rtcp_packet/fir.h |
diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_packet/remb.h b/webrtc/modules/rtp_rtcp/source/rtcp_packet/fir.h |
similarity index 53% |
copy from webrtc/modules/rtp_rtcp/source/rtcp_packet/remb.h |
copy to webrtc/modules/rtp_rtcp/source/rtcp_packet/fir.h |
index 56dbb8b766b031d3157c94a441be11b7484bf54d..c2b897e46e2be678cd077faba0a45a5779e3b3e6 100644 |
--- a/webrtc/modules/rtp_rtcp/source/rtcp_packet/remb.h |
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_packet/fir.h |
@@ -6,35 +6,37 @@ |
* tree. An additional intellectual property rights grant can be found |
* in the file PATENTS. All contributing project authors may |
* be found in the AUTHORS file in the root of the source tree. |
+ * |
*/ |
-#ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_REMB_H_ |
-#define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_REMB_H_ |
+#ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_FIR_H_ |
+#define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_FIR_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 { |
-// Receiver Estimated Max Bitrate (REMB) (draft-alvestrand-rmcat-remb). |
-class Remb : public RtcpPacket { |
+ |
+// Full intra request (FIR) (RFC 5104). |
+class Fir : public RtcpPacket { |
public: |
- Remb() : RtcpPacket() { |
- memset(&remb_, 0, sizeof(remb_)); |
- memset(&remb_item_, 0, sizeof(remb_item_)); |
+ Fir() : RtcpPacket() { |
+ memset(&fir_, 0, sizeof(fir_)); |
+ memset(&fir_item_, 0, sizeof(fir_item_)); |
} |
- virtual ~Remb() {} |
+ virtual ~Fir() {} |
void From(uint32_t ssrc) { |
- remb_.SenderSSRC = ssrc; |
+ fir_.SenderSSRC = ssrc; |
} |
- void AppliesTo(uint32_t ssrc); |
- |
- void WithBitrateBps(uint32_t bitrate_bps) { |
- remb_item_.BitRate = bitrate_bps; |
+ void To(uint32_t ssrc) { |
+ fir_item_.SSRC = ssrc; |
+ } |
+ void WithCommandSeqNum(uint8_t seq_num) { |
+ fir_item_.CommandSequenceNumber = seq_num; |
} |
protected: |
@@ -44,17 +46,15 @@ class Remb : public RtcpPacket { |
RtcpPacket::PacketReadyCallback* callback) const override; |
private: |
- static const int kMaxNumberOfSsrcs = 0xff; |
- |
size_t BlockLength() const { |
- return (remb_item_.NumberOfSSRCs + 5) * 4; |
+ const size_t kFciLength = 8; |
+ return kCommonFbFmtLength + kFciLength; |
} |
- RTCPUtility::RTCPPacketPSFBAPP remb_; |
- RTCPUtility::RTCPPacketPSFBREMBItem remb_item_; |
- |
- RTC_DISALLOW_COPY_AND_ASSIGN(Remb); |
+ RTCPUtility::RTCPPacketPSFBFIR fir_; |
+ RTCPUtility::RTCPPacketPSFBFIRItem fir_item_; |
}; |
+ |
} // namespace rtcp |
} // namespace webrtc |
-#endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_REMB_H_ |
+#endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_FIR_H_ |