Chromium Code Reviews| Index: webrtc/modules/rtp_rtcp/source/rtp_sender_video.h |
| diff --git a/webrtc/modules/rtp_rtcp/source/rtp_sender_video.h b/webrtc/modules/rtp_rtcp/source/rtp_sender_video.h |
| index 56167eb6ebfc1ed7871c23e0dc017732054c653d..1a6bda33b3d4e1d6a49e8e1be2c9f3c5ce687cfe 100644 |
| --- a/webrtc/modules/rtp_rtcp/source/rtp_sender_video.h |
| +++ b/webrtc/modules/rtp_rtcp/source/rtp_sender_video.h |
| @@ -13,6 +13,7 @@ |
| #include <list> |
| #include <memory> |
| +#include <vector> |
| #include "webrtc/base/criticalsection.h" |
| #include "webrtc/base/onetimeevent.h" |
| @@ -20,8 +21,8 @@ |
| #include "webrtc/base/sequenced_task_checker.h" |
| #include "webrtc/base/thread_annotations.h" |
| #include "webrtc/common_types.h" |
| +#include "webrtc/modules/rtp_rtcp/include/flexfec_sender.h" |
| #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" |
| -#include "webrtc/modules/rtp_rtcp/source/forward_error_correction.h" |
| #include "webrtc/modules/rtp_rtcp/source/rtp_rtcp_config.h" |
| #include "webrtc/modules/rtp_rtcp/source/rtp_sender.h" |
| #include "webrtc/modules/rtp_rtcp/source/rtp_utility.h" |
| @@ -78,7 +79,7 @@ class RTPSenderVideo { |
| void SendVideoPacketAsRed(std::unique_ptr<RtpPacketToSend> media_packet, |
| StorageType media_packet_storage, |
| - bool protect); |
| + bool protect_packet); |
| bool red_enabled() const EXCLUSIVE_LOCKS_REQUIRED(crit_) { |
| return red_payload_type_ >= 0; |
| @@ -88,6 +89,14 @@ class RTPSenderVideo { |
| return ulpfec_payload_type_ >= 0; |
| } |
| + // TODO(brandtr): Remove these when FlexfecSender has been moved to |
| + // PacedSender. |
| + bool flexfec_enabled() const { return flexfec_sender_ != nullptr; } |
| + std::vector<std::unique_ptr<RtpPacketToSend>> GetFlexfecPackets( |
|
danilchap
2016/11/08 11:45:08
this function do more than get fec packets.
May be
brandtr
2016/11/09 10:40:00
I merged it into one function, because then the co
|
| + const RtpPacketToSend& media_packet); |
| + void SendFlexfecPackets( |
| + std::vector<std::unique_ptr<RtpPacketToSend>>* fec_packets); |
| + |
| RTPSender* const rtp_sender_; |
| Clock* const clock_; |
| @@ -102,9 +111,14 @@ class RTPSenderVideo { |
| // RED/ULPFEC. |
| int red_payload_type_ GUARDED_BY(crit_); |
| int ulpfec_payload_type_ GUARDED_BY(crit_); |
| + UlpfecGenerator ulpfec_generator_ GUARDED_BY(crit_); |
| + |
| + // FlexFEC. |
| + FlexfecSender* const flexfec_sender_; |
| + |
| + // FEC parameters, applicable to either ULPFEC or FlexFEC. |
| FecProtectionParams delta_fec_params_ GUARDED_BY(crit_); |
| FecProtectionParams key_fec_params_ GUARDED_BY(crit_); |
| - UlpfecGenerator ulpfec_generator_ GUARDED_BY(crit_); |
| rtc::CriticalSection stats_crit_; |
| // Bitrate used for FEC payload, RED headers, RTP headers for FEC packets |