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

Unified Diff: webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc

Issue 2491293002: Make FlexFEC packets paceable through RTPSender. (Closed)
Patch Set: 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/rtp_rtcp_impl.cc
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
index 15fb3255757cb362a4b958623052bb6a58eaef97..19bc862a78482b1cdd1f975f0c933eb303d941f3 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
@@ -229,6 +229,10 @@ void ModuleRtpRtcpImpl::SetRtxSendPayloadType(int payload_type,
rtp_sender_.SetRtxPayloadType(payload_type, associated_payload_type);
}
+rtc::Optional<uint32_t> ModuleRtpRtcpImpl::FlexfecSsrc() const {
+ return rtp_sender_.FlexfecSsrc();
+}
+
int32_t ModuleRtpRtcpImpl::IncomingRtcpPacket(
const uint8_t* rtcp_packet,
const size_t length) {
@@ -400,8 +404,13 @@ bool ModuleRtpRtcpImpl::TimeToSendPacket(uint32_t ssrc,
int64_t capture_time_ms,
bool retransmission,
int probe_cluster_id) {
- if (SendingMedia() && ssrc == rtp_sender_.SSRC()) {
- return rtp_sender_.TimeToSendPacket(sequence_number, capture_time_ms,
+ if (!SendingMedia()) {
+ return true;
+ }
+ uint32_t media_ssrc = rtp_sender_.SSRC();
+ rtc::Optional<uint32_t> flexfec_ssrc = rtp_sender_.FlexfecSsrc();
+ if (ssrc == media_ssrc || (flexfec_ssrc && ssrc == flexfec_ssrc)) {
+ return rtp_sender_.TimeToSendPacket(ssrc, sequence_number, capture_time_ms,
retransmission, probe_cluster_id);
}
// No RTP sender is interested in sending this packet.

Powered by Google App Engine
This is Rietveld 408576698