| Index: webrtc/media/engine/webrtcvideoframe.h
 | 
| diff --git a/webrtc/media/engine/webrtcvideoframe.h b/webrtc/media/engine/webrtcvideoframe.h
 | 
| index 0e1d8099bcae34b37fdfc9a658b8b2670df78b77..a2034ec77d5911e5dbeaccbd98a948de0dc67399 100644
 | 
| --- a/webrtc/media/engine/webrtcvideoframe.h
 | 
| +++ b/webrtc/media/engine/webrtcvideoframe.h
 | 
| @@ -27,6 +27,13 @@ struct CapturedFrame;
 | 
|  class WebRtcVideoFrame : public VideoFrame {
 | 
|   public:
 | 
|    WebRtcVideoFrame();
 | 
| +
 | 
| +  // Preferred construction, with microsecond timestamp.
 | 
| +  WebRtcVideoFrame(const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& buffer,
 | 
| +                   webrtc::VideoRotation rotation,
 | 
| +                   int64_t timestamp_us);
 | 
| +
 | 
| +  // TODO(nisse): Deprecate/delete.
 | 
|    WebRtcVideoFrame(const rtc::scoped_refptr<webrtc::VideoFrameBuffer>& buffer,
 | 
|                     int64_t time_stamp_ns,
 | 
|                     webrtc::VideoRotation rotation);
 | 
| @@ -47,8 +54,13 @@ class WebRtcVideoFrame : public VideoFrame {
 | 
|              int64_t time_stamp_ns,
 | 
|              webrtc::VideoRotation rotation);
 | 
|  
 | 
| +  // The timestamp of the captured frame is expected to use the same
 | 
| +  // timescale and epoch as rtc::Time.
 | 
| +  // TODO(nisse): Consider adding a warning message, or even an RTC_DCHECK, if
 | 
| +  // the time is too far off.
 | 
|    bool Init(const CapturedFrame* frame, int dw, int dh, bool apply_rotation);
 | 
|  
 | 
| +  void InitToEmptyBuffer(int w, int h);
 | 
|    void InitToEmptyBuffer(int w, int h, int64_t time_stamp_ns);
 | 
|  
 | 
|    bool InitToBlack(int w, int h, int64_t time_stamp_ns);
 | 
| @@ -69,10 +81,9 @@ class WebRtcVideoFrame : public VideoFrame {
 | 
|    rtc::scoped_refptr<webrtc::VideoFrameBuffer> video_frame_buffer()
 | 
|        const override;
 | 
|  
 | 
| -  int64_t GetTimeStamp() const override { return time_stamp_ns_; }
 | 
| -  void SetTimeStamp(int64_t time_stamp_ns) override {
 | 
| -    time_stamp_ns_ = time_stamp_ns;
 | 
| -  }
 | 
| +  /* System monotonic clock */
 | 
| +  int64_t timestamp_us() const override { return timestamp_us_; }
 | 
| +  void set_timestamp_us(int64_t time_us) override { timestamp_us_ = time_us; };
 | 
|  
 | 
|    webrtc::VideoRotation rotation() const override { return rotation_; }
 | 
|  
 | 
| @@ -95,15 +106,15 @@ class WebRtcVideoFrame : public VideoFrame {
 | 
|    // |dh| is destination height, like |dw|, but must be a positive number.
 | 
|    // Returns whether the function succeeded or failed.
 | 
|    bool Reset(uint32_t format,
 | 
| -                     int w,
 | 
| -                     int h,
 | 
| -                     int dw,
 | 
| -                     int dh,
 | 
| -                     uint8_t* sample,
 | 
| -                     size_t sample_size,
 | 
| -                     int64_t time_stamp_ns,
 | 
| -                     webrtc::VideoRotation rotation,
 | 
| -                     bool apply_rotation);
 | 
| +             int w,
 | 
| +             int h,
 | 
| +             int dw,
 | 
| +             int dh,
 | 
| +             uint8_t* sample,
 | 
| +             size_t sample_size,
 | 
| +             int64_t timestamp_us,
 | 
| +             webrtc::VideoRotation rotation,
 | 
| +             bool apply_rotation);
 | 
|  
 | 
|   private:
 | 
|    VideoFrame* CreateEmptyFrame(int w, int h,
 | 
| @@ -111,7 +122,7 @@ class WebRtcVideoFrame : public VideoFrame {
 | 
|  
 | 
|    // An opaque reference counted handle that stores the pixel data.
 | 
|    rtc::scoped_refptr<webrtc::VideoFrameBuffer> video_frame_buffer_;
 | 
| -  int64_t time_stamp_ns_;
 | 
| +  int64_t timestamp_us_;
 | 
|    webrtc::VideoRotation rotation_;
 | 
|  
 | 
|    // This is mutable as the calculation is expensive but once calculated, it
 | 
| 
 |