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

Unified Diff: webrtc/video/video_send_stream.h

Issue 1864313003: Move Ownership of RtpModules to VideoSendStream. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebased Created 4 years, 8 months 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/video/video_receive_stream.cc ('k') | webrtc/video/video_send_stream.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « webrtc/video/video_receive_stream.cc ('k') | webrtc/video/video_send_stream.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698