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

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

Issue 2306873003: Add RTCP packet class for signaling encoder target bitrate. (Closed)
Patch Set: Fixed bad rebase Created 4 years, 1 month 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/extended_reports.h
diff --git a/webrtc/modules/rtp_rtcp/source/rtcp_packet/extended_reports.h b/webrtc/modules/rtp_rtcp/source/rtcp_packet/extended_reports.h
index c433477707a57f6100c650ff01e3ec54d5dcacb3..592ac3fe43f2777823f20b65a6c473b28628c9c1 100644
--- a/webrtc/modules/rtp_rtcp/source/rtcp_packet/extended_reports.h
+++ b/webrtc/modules/rtp_rtcp/source/rtcp_packet/extended_reports.h
@@ -18,6 +18,7 @@
#include "webrtc/modules/rtp_rtcp/source/rtcp_packet.h"
#include "webrtc/modules/rtp_rtcp/source/rtcp_packet/dlrr.h"
#include "webrtc/modules/rtp_rtcp/source/rtcp_packet/rrtr.h"
+#include "webrtc/modules/rtp_rtcp/source/rtcp_packet/target_bitrate.h"
#include "webrtc/modules/rtp_rtcp/source/rtcp_packet/voip_metric.h"
namespace webrtc {
@@ -40,6 +41,7 @@ class ExtendedReports : public RtcpPacket {
void SetRrtr(const Rrtr& rrtr);
void AddDlrrItem(const ReceiveTimeInfo& time_info);
void SetVoipMetric(const VoipMetric& voip_metric);
+ void SetTargetBitrate(const TargetBitrate& target_bitrate);
uint32_t sender_ssrc() const { return sender_ssrc_; }
const rtc::Optional<Rrtr>& rrtr() const { return rrtr_block_; }
@@ -47,6 +49,9 @@ class ExtendedReports : public RtcpPacket {
const rtc::Optional<VoipMetric>& voip_metric() const {
return voip_metric_block_;
}
+ const rtc::Optional<TargetBitrate>& target_bitrate() {
+ return target_bitrate_;
+ }
protected:
bool Create(uint8_t* packet,
@@ -59,7 +64,7 @@ class ExtendedReports : public RtcpPacket {
size_t BlockLength() const override {
return kHeaderLength + kXrBaseLength + RrtrLength() + DlrrLength() +
- VoipMetricLength();
+ VoipMetricLength() + TargetBitrateLength();
}
size_t RrtrLength() const { return rrtr_block_ ? Rrtr::kLength : 0; }
@@ -67,15 +72,18 @@ class ExtendedReports : public RtcpPacket {
size_t VoipMetricLength() const {
return voip_metric_block_ ? VoipMetric::kLength : 0;
}
+ size_t TargetBitrateLength() const;
void ParseRrtrBlock(const uint8_t* block, uint16_t block_length);
void ParseDlrrBlock(const uint8_t* block, uint16_t block_length);
void ParseVoipMetricBlock(const uint8_t* block, uint16_t block_length);
+ void ParseTargetBitrateBlock(const uint8_t* block, uint16_t block_length);
uint32_t sender_ssrc_;
rtc::Optional<Rrtr> rrtr_block_;
Dlrr dlrr_block_; // Dlrr without items treated same as no dlrr block.
rtc::Optional<VoipMetric> voip_metric_block_;
+ rtc::Optional<TargetBitrate> target_bitrate_;
RTC_DISALLOW_COPY_AND_ASSIGN(ExtendedReports);
};
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtcp_packet/dlrr.cc ('k') | webrtc/modules/rtp_rtcp/source/rtcp_packet/extended_reports.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698