| Index: webrtc/video_engine/vie_encoder.h | 
| diff --git a/webrtc/video_engine/vie_encoder.h b/webrtc/video_engine/vie_encoder.h | 
| index 424a2a2b51fc61b7c33044b0d6cb7411d88f3f7b..2221f0781debe4225ed0364ff6a2ee31c82d9783 100644 | 
| --- a/webrtc/video_engine/vie_encoder.h | 
| +++ b/webrtc/video_engine/vie_encoder.h | 
| @@ -39,29 +39,8 @@ class QMVideoSettingsCallback; | 
| class SendStatisticsProxy; | 
| class ViEBitrateObserver; | 
| class ViEEffectFilter; | 
| -class ViEEncoderObserver; | 
| class VideoCodingModule; | 
|  | 
| -// This class declares an abstract interface for a user defined observer. It is | 
| -// up to the VideoEngine user to implement a derived class which implements the | 
| -// observer class. The observer is registered using RegisterEncoderObserver() | 
| -// and deregistered using DeregisterEncoderObserver(). | 
| -class ViEEncoderObserver { | 
| - public: | 
| -  // This method is called once per second with the current encoded frame rate | 
| -  // and bit rate. | 
| -  virtual void OutgoingRate(const int video_channel, | 
| -                            const unsigned int framerate, | 
| -                            const unsigned int bitrate) = 0; | 
| - | 
| -  // This method is called whenever the state of the SuspendBelowMinBitrate | 
| -  // changes, i.e., when |is_suspended| toggles. | 
| -  virtual void SuspendChange(int video_channel, bool is_suspended) = 0; | 
| - | 
| - protected: | 
| -  virtual ~ViEEncoderObserver() {} | 
| -}; | 
| - | 
| class ViEEncoder : public RtcpIntraFrameObserver, | 
| public VideoEncoderRateObserver, | 
| public VCMPacketizationCallback, | 
| @@ -72,7 +51,9 @@ class ViEEncoder : public RtcpIntraFrameObserver, | 
|  | 
| ViEEncoder(int32_t channel_id, | 
| uint32_t number_of_cores, | 
| -             ProcessThread& module_process_thread, | 
| +             ProcessThread* module_process_thread, | 
| +             SendStatisticsProxy* stats_proxy, | 
| +             I420FrameCallback* pre_encode_callback, | 
| PacedSender* pacer, | 
| BitrateAllocator* bitrate_allocator); | 
| ~ViEEncoder(); | 
| @@ -146,8 +127,6 @@ class ViEEncoder : public RtcpIntraFrameObserver, | 
| int32_t SendStatistics(const uint32_t bit_rate, | 
| const uint32_t frame_rate) override; | 
|  | 
| -  int32_t RegisterCodecObserver(ViEEncoderObserver* observer); | 
| - | 
| // Implements RtcpIntraFrameObserver. | 
| void OnReceivedIntraFrameRequest(uint32_t ssrc) override; | 
| void OnReceivedSLI(uint32_t ssrc, uint8_t picture_id) override; | 
| @@ -165,12 +144,9 @@ class ViEEncoder : public RtcpIntraFrameObserver, | 
| void SuspendBelowMinBitrate(); | 
|  | 
| // New-style callbacks, used by VideoSendStream. | 
| -  void RegisterPreEncodeCallback(I420FrameCallback* pre_encode_callback); | 
| void RegisterPostEncodeImageCallback( | 
| EncodedImageCallback* post_encode_callback); | 
|  | 
| -  void RegisterSendStatisticsProxy(SendStatisticsProxy* send_statistics_proxy); | 
| - | 
| int channel_id() const { return channel_id_; } | 
|  | 
| int GetPaddingNeededBps() const; | 
| @@ -196,10 +172,11 @@ class ViEEncoder : public RtcpIntraFrameObserver, | 
| const rtc::scoped_ptr<VideoCodingModule> vcm_; | 
| rtc::scoped_refptr<PayloadRouter> send_payload_router_; | 
|  | 
| -  rtc::scoped_ptr<CriticalSectionWrapper> callback_cs_; | 
| rtc::scoped_ptr<CriticalSectionWrapper> data_cs_; | 
| rtc::scoped_ptr<BitrateObserver> bitrate_observer_; | 
|  | 
| +  SendStatisticsProxy* const stats_proxy_; | 
| +  I420FrameCallback* const pre_encode_callback_; | 
| PacedSender* const pacer_; | 
| BitrateAllocator* const bitrate_allocator_; | 
|  | 
| @@ -220,8 +197,7 @@ class ViEEncoder : public RtcpIntraFrameObserver, | 
| bool fec_enabled_; | 
| bool nack_enabled_; | 
|  | 
| -  ViEEncoderObserver* codec_observer_ GUARDED_BY(callback_cs_); | 
| -  ProcessThread& module_process_thread_; | 
| +  ProcessThread* module_process_thread_; | 
|  | 
| bool has_received_sli_ GUARDED_BY(data_cs_); | 
| uint8_t picture_id_sli_ GUARDED_BY(data_cs_); | 
| @@ -230,10 +206,7 @@ class ViEEncoder : public RtcpIntraFrameObserver, | 
| std::map<uint32_t, int> ssrc_streams_ GUARDED_BY(data_cs_); | 
|  | 
| bool video_suspended_ GUARDED_BY(data_cs_); | 
| -  I420FrameCallback* pre_encode_callback_ GUARDED_BY(callback_cs_); | 
| const int64_t start_ms_; | 
| - | 
| -  SendStatisticsProxy* send_statistics_proxy_ GUARDED_BY(callback_cs_); | 
| }; | 
|  | 
| }  // namespace webrtc | 
|  |