Implement I420FrameCallbacks in Call.

BUG=2425
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/2393004

git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5005 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/video_engine/vie_encoder.h b/video_engine/vie_encoder.h
index f679062..bb60699 100644
--- a/video_engine/vie_encoder.h
+++ b/video_engine/vie_encoder.h
@@ -21,6 +21,7 @@
 #include "webrtc/modules/video_processing/main/interface/video_processing.h"
 #include "webrtc/system_wrappers/interface/scoped_ptr.h"
 #include "webrtc/typedefs.h"
+#include "webrtc/video_engine/new_include/frame_callback.h"
 #include "webrtc/video_engine/vie_defines.h"
 #include "webrtc/video_engine/vie_frame_provider_base.h"
 
@@ -167,6 +168,10 @@
   // |threshold_bps| + |window_bps|.
   virtual void EnableAutoMuting(int threshold_bps, int window_bps);
 
+  // New-style callback, used by VideoSendStream.
+  void RegisterPreEncodeCallback(I420FrameCallback* pre_encode_callback);
+  void DeRegisterPreEncodeCallback();
+
   int channel_id() const { return channel_id_; }
  protected:
   // Called by BitrateObserver.
@@ -178,7 +183,6 @@
   bool TimeToSendPacket(uint32_t ssrc, uint16_t sequence_number,
                         int64_t capture_time_ms);
   int TimeToSendPadding(int bytes);
-
  private:
   bool EncoderPaused() const;
 
@@ -223,6 +227,7 @@
   // Quality modes callback
   QMVideoSettingsCallback* qm_callback_;
   bool video_auto_muted_;
+  I420FrameCallback* pre_encode_callback_;
 };
 
 }  // namespace webrtc