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

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

Issue 2448463003: Rename {,Set}GenericFECStatus to {,Set}UlpfecConfig. (Closed)
Patch Set: 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
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_sender_video.h ('k') | webrtc/video/rtp_stream_receiver.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc b/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc
index 76fc42bdba60143fa9510b0a8a382f99931de06f..dd19bb2fc798a3cb8fbad0ae6a17c61f8b493520 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc
@@ -47,6 +47,14 @@ void BuildRedPayload(const RtpPacketToSend& media_packet,
RTPSenderVideo::RTPSenderVideo(Clock* clock, RTPSender* rtp_sender)
: rtp_sender_(rtp_sender),
clock_(clock),
+ video_type_(kRtpVideoGeneric),
+ retransmission_settings_(kRetransmitBaseLayer),
+ last_rotation_(kVideoRotation_0),
+ fec_enabled_(false),
+ red_payload_type_(-1),
+ fec_payload_type_(-1),
+ delta_fec_params_{0, 1, kFecMaskRandom},
+ key_fec_params_{0, 1, kFecMaskRandom},
fec_bitrate_(1000, RateStatistics::kBpsScale),
video_bitrate_(1000, RateStatistics::kBpsScale) {
encoder_checker_.Detach();
@@ -171,31 +179,36 @@ void RTPSenderVideo::SendVideoPacketAsRed(
}
}
-void RTPSenderVideo::SetGenericFECStatus(bool enable,
- uint8_t payload_type_red,
- uint8_t payload_type_fec) {
- RTC_DCHECK(!enable || payload_type_red > 0);
+void RTPSenderVideo::SetUlpfecConfig(bool enabled,
+ int red_payload_type,
+ int ulpfec_payload_type) {
+ RTC_DCHECK(!enabled || red_payload_type > 0);
+ RTC_DCHECK_LE(red_payload_type, 127);
+ RTC_DCHECK_LE(ulpfec_payload_type, 127);
+
rtc::CritScope cs(&crit_);
- fec_enabled_ = enable;
- red_payload_type_ = payload_type_red;
- fec_payload_type_ = payload_type_fec;
+ fec_enabled_ = enabled;
+ red_payload_type_ = red_payload_type;
+ fec_payload_type_ = ulpfec_payload_type;
+
+ // Reset FEC rates.
delta_fec_params_ = FecProtectionParams{0, 1, kFecMaskRandom};
key_fec_params_ = FecProtectionParams{0, 1, kFecMaskRandom};
}
-void RTPSenderVideo::GenericFECStatus(bool* enable,
- uint8_t* payload_type_red,
- uint8_t* payload_type_fec) const {
+void RTPSenderVideo::GetUlpfecConfig(bool* enabled,
+ int* red_payload_type,
+ int* ulpfec_payload_type) const {
rtc::CritScope cs(&crit_);
- *enable = fec_enabled_;
- *payload_type_red = red_payload_type_;
- *payload_type_fec = fec_payload_type_;
+ *enabled = fec_enabled_;
+ *red_payload_type = red_payload_type_;
+ *ulpfec_payload_type = fec_payload_type_;
}
size_t RTPSenderVideo::FecPacketOverhead() const {
rtc::CritScope cs(&crit_);
size_t overhead = 0;
- if (red_payload_type_ != 0) {
+ if (red_payload_type_ != -1) {
// Overhead is FEC headers plus RED for FEC header plus anything in RTP
// header beyond the 12 bytes base header (CSRC list, extensions...)
// This reason for the header extensions to be included here is that
@@ -305,7 +318,7 @@ bool RTPSenderVideo::SendVideo(RtpVideoCodecTypes video_type,
if (!rtp_sender_->AssignSequenceNumber(packet.get()))
return false;
- if (red_payload_type != 0) {
+ if (red_payload_type != -1) {
SendVideoPacketAsRed(std::move(packet), storage,
packetizer->GetProtectionType() == kProtectedPacket);
} else {
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_sender_video.h ('k') | webrtc/video/rtp_stream_receiver.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698