Add SwapFrame() to VideoSendStreamInput.

Optionally prevents doing a frame copy when putting frames into a
VideoSendStream. PutFrame() is still there, which copies the frame.

Also removes time_since_capture_ms as a parameter, since
I420VideoFrame::render_time_ms() denotes when the frame was captured.

BUG=2657
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@5265 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/video/video_send_stream.h b/video/video_send_stream.h
index 0881d91..addb045 100644
--- a/video/video_send_stream.h
+++ b/video/video_send_stream.h
@@ -46,8 +46,9 @@
 
   virtual ~VideoSendStream();
 
-  virtual void PutFrame(const I420VideoFrame& frame,
-                        uint32_t time_since_capture_ms) OVERRIDE;
+  virtual void PutFrame(const I420VideoFrame& frame) OVERRIDE;
+
+  virtual void SwapFrame(I420VideoFrame* frame) OVERRIDE;
 
   virtual VideoSendStreamInput* Input() OVERRIDE;
 
@@ -62,6 +63,7 @@
   bool DeliverRtcp(const uint8_t* packet, size_t length);
 
  private:
+  I420VideoFrame input_frame_;
   TransportAdapter transport_adapter_;
   EncodedFrameCallbackAdapter encoded_frame_proxy_;
   scoped_ptr<CriticalSectionWrapper> codec_lock_;