Index: webrtc/video/video_send_stream.h |
diff --git a/webrtc/video/video_send_stream.h b/webrtc/video/video_send_stream.h |
index 8b3d064f3e34988f352a7a15ec3fa75f2d9cd3c2..688e8fc60f979a2454dbd181dd56ce6f78e5ffe2 100644 |
--- a/webrtc/video/video_send_stream.h |
+++ b/webrtc/video/video_send_stream.h |
@@ -42,7 +42,8 @@ namespace internal { |
class VideoSendStream : public webrtc::VideoSendStream, |
public webrtc::CpuOveruseObserver, |
- public webrtc::BitrateAllocatorObserver { |
+ public webrtc::BitrateAllocatorObserver, |
+ public webrtc::VCMProtectionCallback { |
public: |
VideoSendStream(int num_cpu_cores, |
ProcessThread* module_process_thread, |
@@ -81,10 +82,18 @@ class VideoSendStream : public webrtc::VideoSendStream, |
uint8_t fraction_loss, |
int64_t rtt) override; |
+ // Implements webrtc::VCMProtectionCallback. |
+ int ProtectionRequest(const FecProtectionParams* delta_params, |
+ const FecProtectionParams* key_params, |
+ uint32_t* sent_video_rate_bps, |
+ uint32_t* sent_nack_rate_bps, |
+ uint32_t* sent_fec_rate_bps) override; |
+ |
private: |
static bool EncoderThreadFunction(void* obj); |
void EncoderProcess(); |
+ void ConfigureProtection(); |
void ConfigureSsrcs(); |
SendStatisticsProxy stats_proxy_; |
@@ -103,16 +112,14 @@ class VideoSendStream : public webrtc::VideoSendStream, |
volatile int stop_encoder_thread_; |
OveruseFrameDetector overuse_detector_; |
- PayloadRouter payload_router_; |
EncoderStateFeedback encoder_feedback_; |
- ViEChannel vie_channel_; |
- ViEReceiver* const vie_receiver_; |
ViEEncoder vie_encoder_; |
VideoCodingModule* const vcm_; |
- // TODO(pbos): Move RtpRtcp ownership to VideoSendStream. |
- // RtpRtcp modules, currently owned by ViEChannel but ownership should |
- // eventually move here. |
+ |
+ const std::unique_ptr<RtcpBandwidthObserver> bandwidth_observer_; |
+ // RtpRtcp modules, declared here as they use other members on construction. |
const std::vector<RtpRtcp*> rtp_rtcp_modules_; |
+ PayloadRouter payload_router_; |
VideoCaptureInput input_; |
}; |
} // namespace internal |