| Index: webrtc/video/encoder_state_feedback.h | 
| diff --git a/webrtc/video/encoder_state_feedback.h b/webrtc/video/encoder_state_feedback.h | 
| index 57595a0a69a1055f04286f39560ab78d9bce26a8..c9fb9cc7476e1247bdf4d5304b4fcd470386e0d6 100644 | 
| --- a/webrtc/video/encoder_state_feedback.h | 
| +++ b/webrtc/video/encoder_state_feedback.h | 
| @@ -7,10 +7,6 @@ | 
| *  in the file PATENTS.  All contributing project authors may | 
| *  be found in the AUTHORS file in the root of the source tree. | 
| */ | 
| - | 
| -// TODO(mflodman) ViEEncoder has a time check to not send key frames too often, | 
| -// move the logic to this class. | 
| - | 
| #ifndef WEBRTC_VIDEO_ENCODER_STATE_FEEDBACK_H_ | 
| #define WEBRTC_VIDEO_ENCODER_STATE_FEEDBACK_H_ | 
|  | 
| @@ -18,6 +14,7 @@ | 
|  | 
| #include "webrtc/base/criticalsection.h" | 
| #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" | 
| +#include "webrtc/system_wrappers/include/clock.h" | 
| #include "webrtc/typedefs.h" | 
|  | 
| namespace webrtc { | 
| @@ -26,22 +23,24 @@ class ViEEncoder; | 
|  | 
| class EncoderStateFeedback : public RtcpIntraFrameObserver { | 
| public: | 
| -  EncoderStateFeedback(); | 
| - | 
| -  // Adds an encoder to receive feedback for a set of SSRCs. | 
| -  void Init(const std::vector<uint32_t>& ssrc, ViEEncoder* encoder); | 
| - | 
| +  EncoderStateFeedback(Clock* clock, | 
| +                       const std::vector<uint32_t>& ssrcs, | 
| +                       ViEEncoder* encoder); | 
| void OnReceivedIntraFrameRequest(uint32_t ssrc) override; | 
| void OnReceivedSLI(uint32_t ssrc, uint8_t picture_id) override; | 
| void OnReceivedRPSI(uint32_t ssrc, uint64_t picture_id) override; | 
| void OnLocalSsrcChanged(uint32_t old_ssrc, uint32_t new_ssrc) override; | 
|  | 
| private: | 
| -  bool HasSsrc(uint32_t ssrc) EXCLUSIVE_LOCKS_REQUIRED(crit_); | 
| -  rtc::CriticalSection crit_; | 
| +  bool HasSsrc(uint32_t ssrc); | 
| +  size_t GetStreamIndex(uint32_t ssrc); | 
| + | 
| +  Clock* const clock_; | 
| +  const std::vector<uint32_t> ssrcs_; | 
| +  ViEEncoder* const vie_encoder_; | 
|  | 
| -  std::vector<uint32_t> ssrcs_ GUARDED_BY(crit_); | 
| -  ViEEncoder* vie_encoder_ GUARDED_BY(crit_); | 
| +  rtc::CriticalSection crit_; | 
| +  std::vector<int64_t> time_last_intra_request_ms_ GUARDED_BY(crit_); | 
| }; | 
|  | 
| }  // namespace webrtc | 
|  |