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

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

Issue 1847973003: [rtcp] TransportFeedback adjusted to match other rtcp packets (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Remove underused buffer check from Parse, added it to Create Created 4 years, 4 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 | « no previous file | webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.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/transport_feedback.h
diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h b/webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h
index 7a74d7ffe83b3f485a4a67fa57d25d2ff6435e85..6a381efbbf20877a86e2d230167c3a6364db906d 100644
--- a/webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h
@@ -16,21 +16,25 @@
#include <vector>
#include "webrtc/base/constructormagic.h"
-#include "webrtc/modules/include/module_common_types.h"
-#include "webrtc/modules/rtp_rtcp/source/rtcp_packet.h"
+#include "webrtc/modules/rtp_rtcp/source/rtcp_packet/rtpfb.h"
namespace webrtc {
namespace rtcp {
+class CommonHeader;
-class PacketStatusChunk;
-
-class TransportFeedback : public RtcpPacket {
+class TransportFeedback : public Rtpfb {
public:
+ class PacketStatusChunk;
+ // TODO(sprang): IANA reg?
+ static constexpr uint8_t kFeedbackMessageType = 15;
+ // Convert to multiples of 0.25ms.
+ static constexpr int kDeltaScaleFactor = 250;
+
TransportFeedback();
- virtual ~TransportFeedback();
+ ~TransportFeedback() override;
- void WithPacketSenderSsrc(uint32_t ssrc);
- void WithMediaSourceSsrc(uint32_t ssrc);
+ void WithPacketSenderSsrc(uint32_t ssrc) { From(ssrc); }
+ void WithMediaSourceSsrc(uint32_t ssrc) { To(ssrc); }
void WithBase(uint16_t base_sequence, // Seq# of first packet in this msg.
int64_t ref_timestamp_us); // Reference timestamp for this msg.
void WithFeedbackSequenceNumber(uint8_t feedback_sequence);
@@ -53,12 +57,10 @@ class TransportFeedback : public RtcpPacket {
// is relative the base time.
std::vector<int64_t> GetReceiveDeltasUs() const;
- uint32_t GetPacketSenderSsrc() const;
- uint32_t GetMediaSourceSsrc() const;
- static const int kDeltaScaleFactor = 250; // Convert to multiples of 0.25ms.
- static const uint8_t kFeedbackMessageType = 15; // TODO(sprang): IANA reg?
- static const uint8_t kPayloadType = 205; // RTPFB, see RFC4585.
+ uint32_t GetPacketSenderSsrc() const { return sender_ssrc(); }
+ uint32_t GetMediaSourceSsrc() const { return media_ssrc(); }
+ bool Parse(const CommonHeader& packet);
static std::unique_ptr<TransportFeedback> ParseFrom(const uint8_t* buffer,
size_t length);
@@ -83,8 +85,6 @@ class TransportFeedback : public RtcpPacket {
void EmitVectorChunk();
void EmitRunLengthChunk();
- uint32_t packet_sender_ssrc_;
- uint32_t media_source_ssrc_;
int32_t base_seq_;
int64_t base_time_;
uint8_t feedback_seq_;
« no previous file with comments | « no previous file | webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698