Index: media/cast/sender/frame_sender.h |
diff --git a/media/cast/sender/frame_sender.h b/media/cast/sender/frame_sender.h |
index 6cf02f563be0925a380b2ec6ae1627261695b290..b58c329b01f9448660ad1e834886069e2563f50b 100644 |
--- a/media/cast/sender/frame_sender.h |
+++ b/media/cast/sender/frame_sender.h |
@@ -88,6 +88,12 @@ class FrameSender { |
base::TimeTicks GetRecordedReferenceTime(uint32 frame_id) const; |
RtpTimestamp GetRecordedRtpTimestamp(uint32 frame_id) const; |
+ // Returns true if there are too many frames in flight, or if the media |
+ // duration of the frames in flight would be too high by sending the next |
+ // frame. The latter metric is determined from the given |capture_time| |
+ // for the next frame to be encoded and sent. |
+ bool ShouldDropNextFrame(base::TimeTicks capture_time) const; |
+ |
const base::TimeDelta rtcp_interval_; |
// The total amount of time between a frame's capture/recording on the sender |
@@ -108,6 +114,9 @@ class FrameSender { |
// new frames shall halt. |
int max_unacked_frames_; |
+ // The number of frames queued for encoding, but not yet sent. |
+ int frames_in_encoder_; |
+ |
// Counts how many RTCP reports are being "aggressively" sent (i.e., one per |
// frame) at the start of the session. Once a threshold is reached, RTCP |
// reports are instead sent at the configured interval + random drift. |