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

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

Issue 2633923003: Add rtcp::TransportFeedback::GetReceivedPackets() (Closed)
Patch Set: . Created 3 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
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 a1208293bce0318049f86c123ee04db64893c2da..9f2071174ddb13e316111f71a7159c7345080650 100644
--- a/webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h
@@ -23,6 +23,21 @@ class CommonHeader;
class TransportFeedback : public Rtpfb {
public:
+ class ReceivedPacket {
+ public:
+ ReceivedPacket(uint16_t sequence_number, int16_t delta_ticks)
+ : sequence_number_(sequence_number), delta_ticks_(delta_ticks) {}
+ ReceivedPacket(const ReceivedPacket&) = default;
+ ReceivedPacket& operator=(const ReceivedPacket&) = default;
+
+ uint16_t sequence_number() const { return sequence_number_; }
+ int16_t delta_ticks() const { return delta_ticks_; }
+ int32_t delta_us() const { return delta_ticks_ * kDeltaScaleFactor; }
+
+ private:
+ uint16_t sequence_number_;
minyue-webrtc 2017/01/18 08:25:27 these two vars are const too?
danilchap 2017/01/18 09:20:12 can't declare them const because of assign operato
+ int16_t delta_ticks_;
+ };
// TODO(sprang): IANA reg?
static constexpr uint8_t kFeedbackMessageType = 15;
// Convert to multiples of 0.25ms.
@@ -38,6 +53,7 @@ class TransportFeedback : public Rtpfb {
void SetFeedbackSequenceNumber(uint8_t feedback_sequence);
// NOTE: This method requires increasing sequence numbers (excepting wraps).
bool AddReceivedPacket(uint16_t sequence_number, int64_t timestamp_us);
+ const std::vector<ReceivedPacket>& GetReceivedPackets() const;
enum class StatusSymbol {
kNotReceived,
@@ -76,12 +92,6 @@ class TransportFeedback : public Rtpfb {
using DeltaSize = uint8_t;
// Keeps DeltaSizes that can be encoded into single chunk if it is last chunk.
class LastChunk;
- struct ReceivedPacket {
- ReceivedPacket(uint16_t sequence_number, int16_t delta_ticks)
- : sequence_number(sequence_number), delta_ticks(delta_ticks) {}
- uint16_t sequence_number;
- int16_t delta_ticks;
- };
// Reset packet to consistent empty state.
void Clear();

Powered by Google App Engine
This is Rietveld 408576698