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

Unified Diff: webrtc/modules/congestion_controller/congestion_controller.cc

Issue 2553863003: Parse FlexFEC RTP headers in Call and add integration with BWE. (Closed)
Patch Set: Add NotifyBweOfReceivedPacket to mock. Created 4 years 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/congestion_controller/congestion_controller.cc
diff --git a/webrtc/modules/congestion_controller/congestion_controller.cc b/webrtc/modules/congestion_controller/congestion_controller.cc
index bbdd968dc668f6c51587b891f700c96e39dbcc42..ba11f3758f9aa1c8cb0e206f5c90ec9043daabc4 100644
--- a/webrtc/modules/congestion_controller/congestion_controller.cc
+++ b/webrtc/modules/congestion_controller/congestion_controller.cc
@@ -23,6 +23,8 @@
#include "webrtc/modules/remote_bitrate_estimator/include/bwe_defines.h"
#include "webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_abs_send_time.h"
#include "webrtc/modules/remote_bitrate_estimator/remote_bitrate_estimator_single_stream.h"
+#include "webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h"
+#include "webrtc/modules/rtp_rtcp/source/rtp_packet_received.h"
#include "webrtc/system_wrappers/include/critical_section_wrapper.h"
namespace webrtc {
@@ -197,6 +199,33 @@ CongestionController::CongestionController(
CongestionController::~CongestionController() {}
+void CongestionController::NotifyBweOfReceivedPacket(
stefan-webrtc 2016/12/19 14:03:31 Call this method "OnReceivedPacket"
brandtr 2016/12/19 14:26:53 Done. Alternatively, it could also be called "Inco
stefan-webrtc 2016/12/19 15:50:30 Agree, but now it resembles OnSentPacket below, wh
+ const RtpPacketReceived& packet) {
+ const bool transport_wide = packet.HasExtension<TransportSequenceNumber>();
+ const bool abs_send_time = packet.HasExtension<AbsoluteSendTime>();
+ const bool t_offset = packet.HasExtension<TransmissionOffset>();
stefan-webrtc 2016/12/19 14:03:31 One more tiny request... Could we move out the rt
brandtr 2016/12/19 14:26:53 Done.
+
+ // At least one of the header extensions is needed for the BWE.
+ if (!transport_wide && !abs_send_time && !t_offset)
+ return;
+
+ RTPHeader header;
+ packet.GetHeader(&header);
+
+ // Send-side BWE.
+ if (transport_wide) {
+ remote_estimator_proxy_.IncomingPacket(packet.arrival_time_ms(),
+ packet.payload_size(), header);
+ return;
+ }
+
+ // Receive-side BWE.
+ if (remote_bitrate_estimator_) {
+ remote_bitrate_estimator_->IncomingPacket(packet.arrival_time_ms(),
+ packet.payload_size(), header);
+ }
+}
+
void CongestionController::SetBweBitrates(int min_bitrate_bps,
int start_bitrate_bps,
int max_bitrate_bps) {
« no previous file with comments | « webrtc/media/engine/webrtcvideoengine2.cc ('k') | webrtc/modules/congestion_controller/include/congestion_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698