Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1571)

Unified Diff: webrtc/modules/rtp_rtcp/source/rtcp_packet/rpsi.h

Issue 1583233007: [rtp_rtcp] rtcp::Rpsi moved into own file (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtcp_packet.cc ('k') | webrtc/modules/rtp_rtcp/source/rtcp_packet/rpsi.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/modules/rtp_rtcp/source/rtcp_packet/rpsi.h
diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_packet/fir.h b/webrtc/modules/rtp_rtcp/source/rtcp_packet/rpsi.h
similarity index 53%
copy from webrtc/modules/rtp_rtcp/source/rtcp_packet/fir.h
copy to webrtc/modules/rtp_rtcp/source/rtcp_packet/rpsi.h
index c2b897e46e2be678cd077faba0a45a5779e3b3e6..1882ca6488fac5ea8e77206198305cce7ff2f02b 100644
--- a/webrtc/modules/rtp_rtcp/source/rtcp_packet/fir.h
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_packet/rpsi.h
@@ -6,11 +6,10 @@
* 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_FIR_H_
-#define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_FIR_H_
+#ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_RPSI_H_
+#define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_RPSI_H_
#include "webrtc/base/basictypes.h"
#include "webrtc/modules/rtp_rtcp/source/rtcp_packet.h"
@@ -18,26 +17,28 @@
namespace webrtc {
namespace rtcp {
-
-// Full intra request (FIR) (RFC 5104).
-class Fir : public RtcpPacket {
+// Reference picture selection indication (RPSI) (RFC 4585).
+class Rpsi : public RtcpPacket {
public:
- Fir() : RtcpPacket() {
- memset(&fir_, 0, sizeof(fir_));
- memset(&fir_item_, 0, sizeof(fir_item_));
+ Rpsi()
+ : RtcpPacket(),
+ padding_bytes_(0) {
+ memset(&rpsi_, 0, sizeof(rpsi_));
}
- virtual ~Fir() {}
+ virtual ~Rpsi() {}
void From(uint32_t ssrc) {
- fir_.SenderSSRC = ssrc;
+ rpsi_.SenderSSRC = ssrc;
}
void To(uint32_t ssrc) {
- fir_item_.SSRC = ssrc;
+ rpsi_.MediaSSRC = ssrc;
}
- void WithCommandSeqNum(uint8_t seq_num) {
- fir_item_.CommandSequenceNumber = seq_num;
+ void WithPayloadType(uint8_t payload) {
+ assert(payload <= 0x7f);
+ rpsi_.PayloadType = payload;
}
+ void WithPictureId(uint64_t picture_id);
protected:
bool Create(uint8_t* packet,
@@ -47,14 +48,15 @@ class Fir : public RtcpPacket {
private:
size_t BlockLength() const {
- const size_t kFciLength = 8;
- return kCommonFbFmtLength + kFciLength;
+ size_t fci_length = 2 + (rpsi_.NumberOfValidBits / 8) + padding_bytes_;
+ return kCommonFbFmtLength + fci_length;
}
- RTCPUtility::RTCPPacketPSFBFIR fir_;
- RTCPUtility::RTCPPacketPSFBFIRItem fir_item_;
-};
+ uint8_t padding_bytes_;
+ RTCPUtility::RTCPPacketPSFBRPSI rpsi_;
+ RTC_DISALLOW_COPY_AND_ASSIGN(Rpsi);
+};
} // namespace rtcp
} // namespace webrtc
-#endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_FIR_H_
+#endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTCP_PACKET_RPSI_H_
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtcp_packet.cc ('k') | webrtc/modules/rtp_rtcp/source/rtcp_packet/rpsi.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698