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

Unified Diff: remoting/protocol/webrtc_frame_scheduler_simple.h

Issue 2616213002: Fix WebrtcVideoStream to handle failed capture requests. (Closed)
Patch Set: Created 3 years, 11 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
Index: remoting/protocol/webrtc_frame_scheduler_simple.h
diff --git a/remoting/protocol/webrtc_frame_scheduler_simple.h b/remoting/protocol/webrtc_frame_scheduler_simple.h
index 413dabd84785467ebc7690c538c8fdd3986ce955..cd5f4dd5d2eb5823002c81a421a746a8f18abeaf 100644
--- a/remoting/protocol/webrtc_frame_scheduler_simple.h
+++ b/remoting/protocol/webrtc_frame_scheduler_simple.h
@@ -37,11 +37,9 @@ class WebrtcFrameSchedulerSimple : public VideoChannelStateObserver,
void Start(WebrtcDummyVideoEncoderFactory* video_encoder_factory,
const base::Closure& capture_callback) override;
void Pause(bool pause) override;
- bool GetEncoderFrameParams(
- const webrtc::DesktopFrame& frame,
- WebrtcVideoEncoder::FrameParams* params_out) override;
- void OnFrameEncoded(const WebrtcVideoEncoder::EncodedFrame& encoded_frame,
- const webrtc::EncodedImageCallback::Result& send_result,
+ bool OnFrameCaptured(const webrtc::DesktopFrame* frame,
+ WebrtcVideoEncoder::FrameParams* params_out) override;
+ void OnFrameEncoded(const WebrtcVideoEncoder::EncodedFrame* encoded_frame,
HostFrameStats* frame_stats) override;
private:
@@ -52,13 +50,17 @@ class WebrtcFrameSchedulerSimple : public VideoChannelStateObserver,
~EncoderBitrateFilter();
void SetBandwidthEstimate(int bandwidth_kbps, base::TimeTicks now);
- int GetTargetBitrateKbps(webrtc::DesktopSize size, base::TimeTicks now);
+ void SetFrameSize(webrtc::DesktopSize size);
+ int GetTargetBitrateKbps() const;
private:
+ void UpdateTargetBitrate();
+
std::queue<std::pair<base::TimeTicks, int>> bandwidth_samples_;
int bandwidth_samples_sum_ = 0;
- int current_target_bitrate_;
+ int minimum_bitrate_ = 0;
+ int current_target_bitrate_ = 0;
};
void ScheduleNextFrame(base::TimeTicks now);

Powered by Google App Engine
This is Rietveld 408576698