Reland of Delete all use of cricket::VideoFrame and cricket::WebRtcVideoFrame. (patchset #1 id:1 of https://codereview.webrtc.org/2471783002/ )

Reason for revert:
Relanding after known downstream breakages have been fixed.

Original issue's description:
> Revert of Delete all use of cricket::VideoFrame and cricket::WebRtcVideoFrame. (patchset #7 id:120001 of https://codereview.webrtc.org/2383093002/ )
>
> Reason for revert:
> Breaks chrome, see https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/19019/steps/compile/logs/stdio
>
> Analysis: Chrome uses cricket::VideoFrame, without explicitly including webrtc/media/base/videoframe.h, and breaks when that file is no longer included by any other webrtc headers. Will reland after updating Chrome.
>
> Original issue's description:
> > Delete all use of cricket::VideoFrame and cricket::WebRtcVideoFrame.
> >
> > Replaced with webrtc::VideoFrame.
> >
> > TBR=mflodman@webrtc.org
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/45c8b8940042bd2574c39920804ade8343cefdba
> > Cr-Commit-Position: refs/heads/master@{#14885}
>
> TBR=perkj@webrtc.org,pthatcher@webrtc.org,tkchin@webrtc.org,mflodman@webrtc.org,stefan@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5682
>
> Committed: https://crrev.com/7341ab8e2505c9763d208e069bda269018357e7d
> Cr-Commit-Position: refs/heads/master@{#14886}

TBR=perkj@webrtc.org,pthatcher@webrtc.org,tkchin@webrtc.org,mflodman@webrtc.org,stefan@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2487633002
Cr-Commit-Position: refs/heads/master@{#15039}
diff --git a/webrtc/api/android/java/src/org/webrtc/VideoRenderer.java b/webrtc/api/android/java/src/org/webrtc/VideoRenderer.java
index 8ee4d27..3a6a167 100644
--- a/webrtc/api/android/java/src/org/webrtc/VideoRenderer.java
+++ b/webrtc/api/android/java/src/org/webrtc/VideoRenderer.java
@@ -20,7 +20,7 @@
  */
 public class VideoRenderer {
   /**
-   * Java version of cricket::VideoFrame. Frames are only constructed from native code and test
+   * Java version of webrtc::VideoFrame. Frames are only constructed from native code and test
    * code.
    */
   public static class I420Frame {
diff --git a/webrtc/api/android/jni/peerconnection_jni.cc b/webrtc/api/android/jni/peerconnection_jni.cc
index e76444e..7012fc3 100644
--- a/webrtc/api/android/jni/peerconnection_jni.cc
+++ b/webrtc/api/android/jni/peerconnection_jni.cc
@@ -733,7 +733,7 @@
 // Wrapper dispatching rtc::VideoSinkInterface to a Java VideoRenderer
 // instance.
 class JavaVideoRendererWrapper
-    : public rtc::VideoSinkInterface<cricket::VideoFrame> {
+    : public rtc::VideoSinkInterface<webrtc::VideoFrame> {
  public:
   JavaVideoRendererWrapper(JNIEnv* jni, jobject j_callbacks)
       : j_callbacks_(jni, j_callbacks),
@@ -753,7 +753,7 @@
 
   virtual ~JavaVideoRendererWrapper() {}
 
-  void OnFrame(const cricket::VideoFrame& video_frame) override {
+  void OnFrame(const webrtc::VideoFrame& video_frame) override {
     ScopedLocalRefFrame local_ref_frame(jni());
     jobject j_frame =
         (video_frame.video_frame_buffer()->native_handle() != nullptr)
@@ -769,13 +769,12 @@
   // Make a shallow copy of |frame| to be used with Java. The callee has
   // ownership of the frame, and the frame should be released with
   // VideoRenderer.releaseNativeFrame().
-  static jlong javaShallowCopy(const cricket::VideoFrame* frame) {
-    return jlongFromPointer(new cricket::WebRtcVideoFrame(
-        frame->video_frame_buffer(), frame->rotation(), frame->timestamp_us()));
+  static jlong javaShallowCopy(const webrtc::VideoFrame* frame) {
+    return jlongFromPointer(new webrtc::VideoFrame(*frame));
   }
 
   // Return a VideoRenderer.I420Frame referring to the data in |frame|.
-  jobject CricketToJavaI420Frame(const cricket::VideoFrame* frame) {
+  jobject CricketToJavaI420Frame(const webrtc::VideoFrame* frame) {
     jintArray strides = jni()->NewIntArray(3);
     jint* strides_array = jni()->GetIntArrayElements(strides, NULL);
     strides_array[0] = frame->video_frame_buffer()->StrideY();
@@ -806,7 +805,7 @@
   }
 
   // Return a VideoRenderer.I420Frame referring texture object in |frame|.
-  jobject CricketToJavaTextureFrame(const cricket::VideoFrame* frame) {
+  jobject CricketToJavaTextureFrame(const webrtc::VideoFrame* frame) {
     NativeHandleImpl* handle = reinterpret_cast<NativeHandleImpl*>(
         frame->video_frame_buffer()->native_handle());
     jfloatArray sampling_matrix = handle->sampling_matrix.ToJava(jni());
@@ -951,7 +950,7 @@
 
 JOW(void, VideoRenderer_releaseNativeFrame)(
     JNIEnv* jni, jclass, jlong j_frame_ptr) {
-  delete reinterpret_cast<const cricket::VideoFrame*>(j_frame_ptr);
+  delete reinterpret_cast<const webrtc::VideoFrame*>(j_frame_ptr);
 }
 
 JOW(void, MediaStreamTrack_free)(JNIEnv*, jclass, jlong j_p) {
@@ -2123,7 +2122,7 @@
   LOG(LS_INFO) << "VideoTrack::nativeAddRenderer";
   reinterpret_cast<VideoTrackInterface*>(j_video_track_pointer)
       ->AddOrUpdateSink(
-          reinterpret_cast<rtc::VideoSinkInterface<cricket::VideoFrame>*>(
+          reinterpret_cast<rtc::VideoSinkInterface<webrtc::VideoFrame>*>(
               j_renderer_pointer),
           rtc::VideoSinkWants());
 }
@@ -2133,7 +2132,7 @@
     jlong j_video_track_pointer, jlong j_renderer_pointer) {
   reinterpret_cast<VideoTrackInterface*>(j_video_track_pointer)
       ->RemoveSink(
-          reinterpret_cast<rtc::VideoSinkInterface<cricket::VideoFrame>*>(
+          reinterpret_cast<rtc::VideoSinkInterface<webrtc::VideoFrame>*>(
               j_renderer_pointer));
 }
 
diff --git a/webrtc/api/androidvideotracksource.cc b/webrtc/api/androidvideotracksource.cc
index 9242e5f..947311a 100644
--- a/webrtc/api/androidvideotracksource.cc
+++ b/webrtc/api/androidvideotracksource.cc
@@ -95,9 +95,8 @@
       buffer->MutableDataU(), buffer->StrideU(),
       buffer->width(), buffer->height());
 
-  OnFrame(cricket::WebRtcVideoFrame(
-              buffer, static_cast<webrtc::VideoRotation>(rotation),
-              translated_camera_time_us));
+  OnFrame(VideoFrame(buffer, static_cast<webrtc::VideoRotation>(rotation),
+                     translated_camera_time_us));
 }
 
 void AndroidVideoTrackSource::OnTextureFrameCaptured(
@@ -147,13 +146,13 @@
     matrix.Rotate(static_cast<webrtc::VideoRotation>(rotation));
   }
 
-  OnFrame(cricket::WebRtcVideoFrame(
-              surface_texture_helper_->CreateTextureFrame(
-                  adapted_width, adapted_height,
-                  webrtc_jni::NativeHandleImpl(handle.oes_texture_id, matrix)),
-              do_rotate ? webrtc::kVideoRotation_0
-                        : static_cast<webrtc::VideoRotation>(rotation),
-              translated_camera_time_us));
+  OnFrame(VideoFrame(
+      surface_texture_helper_->CreateTextureFrame(
+          adapted_width, adapted_height,
+          webrtc_jni::NativeHandleImpl(handle.oes_texture_id, matrix)),
+      do_rotate ? webrtc::kVideoRotation_0
+                : static_cast<webrtc::VideoRotation>(rotation),
+      translated_camera_time_us));
 }
 
 void AndroidVideoTrackSource::OnOutputFormatRequest(int width,
diff --git a/webrtc/api/mediastreaminterface.h b/webrtc/api/mediastreaminterface.h
index f813dda..baebad7 100644
--- a/webrtc/api/mediastreaminterface.h
+++ b/webrtc/api/mediastreaminterface.h
@@ -25,9 +25,9 @@
 #include "webrtc/base/scoped_ref_ptr.h"
 #include "webrtc/base/optional.h"
 #include "webrtc/media/base/mediachannel.h"
-#include "webrtc/media/base/videoframe.h"
 #include "webrtc/media/base/videosinkinterface.h"
 #include "webrtc/media/base/videosourceinterface.h"
+#include "webrtc/video_frame.h"
 
 namespace webrtc {
 
@@ -98,7 +98,7 @@
 // The same source can be used in multiple VideoTracks.
 class VideoTrackSourceInterface
     : public MediaSourceInterface,
-      public rtc::VideoSourceInterface<cricket::VideoFrame> {
+      public rtc::VideoSourceInterface<VideoFrame> {
  public:
   struct Stats {
     // Original size of captured frame, before video adaptation.
@@ -131,13 +131,12 @@
 
 class VideoTrackInterface
     : public MediaStreamTrackInterface,
-      public rtc::VideoSourceInterface<cricket::VideoFrame> {
+      public rtc::VideoSourceInterface<VideoFrame> {
  public:
   // Register a video sink for this track.
-  void AddOrUpdateSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink,
+  void AddOrUpdateSink(rtc::VideoSinkInterface<VideoFrame>* sink,
                        const rtc::VideoSinkWants& wants) override{};
-  void RemoveSink(
-      rtc::VideoSinkInterface<cricket::VideoFrame>* sink) override{};
+  void RemoveSink(rtc::VideoSinkInterface<VideoFrame>* sink) override{};
 
   virtual VideoTrackSourceInterface* GetSource() const = 0;
 
diff --git a/webrtc/api/mediastreamtrackproxy.h b/webrtc/api/mediastreamtrackproxy.h
index 12fdc36..206a467 100644
--- a/webrtc/api/mediastreamtrackproxy.h
+++ b/webrtc/api/mediastreamtrackproxy.h
@@ -42,12 +42,10 @@
   PROXY_CONSTMETHOD0(bool, enabled)
   PROXY_METHOD1(bool, set_enabled, bool)
   PROXY_WORKER_METHOD2(void,
-                AddOrUpdateSink,
-                rtc::VideoSinkInterface<cricket::VideoFrame>*,
-                const rtc::VideoSinkWants&)
-  PROXY_WORKER_METHOD1(void,
-                       RemoveSink,
-                       rtc::VideoSinkInterface<cricket::VideoFrame>*)
+                       AddOrUpdateSink,
+                       rtc::VideoSinkInterface<VideoFrame>*,
+                       const rtc::VideoSinkWants&)
+  PROXY_WORKER_METHOD1(void, RemoveSink, rtc::VideoSinkInterface<VideoFrame>*)
   PROXY_CONSTMETHOD0(VideoTrackSourceInterface*, GetSource)
 
   PROXY_METHOD1(void, RegisterObserver, ObserverInterface*)
diff --git a/webrtc/api/rtcstatscollector_unittest.cc b/webrtc/api/rtcstatscollector_unittest.cc
index adc1520..73d70dc 100644
--- a/webrtc/api/rtcstatscollector_unittest.cc
+++ b/webrtc/api/rtcstatscollector_unittest.cc
@@ -232,9 +232,9 @@
   bool remote() const override { return false; }
   void RegisterObserver(ObserverInterface* observer) override {}
   void UnregisterObserver(ObserverInterface* observer) override {}
-  void AddOrUpdateSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink,
+  void AddOrUpdateSink(rtc::VideoSinkInterface<webrtc::VideoFrame>* sink,
                        const rtc::VideoSinkWants& wants) override {}
-  void RemoveSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink) override {
+  void RemoveSink(rtc::VideoSinkInterface<webrtc::VideoFrame>* sink) override {
   }
   bool is_screencast() const override { return false; }
   rtc::Optional<bool> needs_denoising() const override {
diff --git a/webrtc/api/videocapturertracksource_unittest.cc b/webrtc/api/videocapturertracksource_unittest.cc
index 67c2498..a0350d9 100644
--- a/webrtc/api/videocapturertracksource_unittest.cc
+++ b/webrtc/api/videocapturertracksource_unittest.cc
@@ -18,7 +18,6 @@
 #include "webrtc/media/base/fakemediaengine.h"
 #include "webrtc/media/base/fakevideocapturer.h"
 #include "webrtc/media/base/fakevideorenderer.h"
-#include "webrtc/media/engine/webrtcvideoframe.h"
 
 using webrtc::FakeConstraints;
 using webrtc::VideoCapturerTrackSource;
diff --git a/webrtc/api/videosourceproxy.h b/webrtc/api/videosourceproxy.h
index 0c18161..eaec17b 100644
--- a/webrtc/api/videosourceproxy.h
+++ b/webrtc/api/videosourceproxy.h
@@ -28,11 +28,9 @@
   PROXY_METHOD1(bool, GetStats, Stats*)
   PROXY_WORKER_METHOD2(void,
                        AddOrUpdateSink,
-                       rtc::VideoSinkInterface<cricket::VideoFrame>*,
+                       rtc::VideoSinkInterface<VideoFrame>*,
                        const rtc::VideoSinkWants&)
-  PROXY_WORKER_METHOD1(void,
-                       RemoveSink,
-                       rtc::VideoSinkInterface<cricket::VideoFrame>*)
+  PROXY_WORKER_METHOD1(void, RemoveSink, rtc::VideoSinkInterface<VideoFrame>*)
   PROXY_METHOD1(void, RegisterObserver, ObserverInterface*)
   PROXY_METHOD1(void, UnregisterObserver, ObserverInterface*)
 END_PROXY()
diff --git a/webrtc/api/videotrack.cc b/webrtc/api/videotrack.cc
index 234b4cf..b47a320 100644
--- a/webrtc/api/videotrack.cc
+++ b/webrtc/api/videotrack.cc
@@ -34,9 +34,8 @@
 
 // AddOrUpdateSink and RemoveSink should be called on the worker
 // thread.
-void VideoTrack::AddOrUpdateSink(
-    rtc::VideoSinkInterface<cricket::VideoFrame>* sink,
-    const rtc::VideoSinkWants& wants) {
+void VideoTrack::AddOrUpdateSink(rtc::VideoSinkInterface<VideoFrame>* sink,
+                                 const rtc::VideoSinkWants& wants) {
   RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
   VideoSourceBase::AddOrUpdateSink(sink, wants);
   rtc::VideoSinkWants modified_wants = wants;
@@ -44,8 +43,7 @@
   video_source_->AddOrUpdateSink(sink, modified_wants);
 }
 
-void VideoTrack::RemoveSink(
-    rtc::VideoSinkInterface<cricket::VideoFrame>* sink) {
+void VideoTrack::RemoveSink(rtc::VideoSinkInterface<VideoFrame>* sink) {
   RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
   VideoSourceBase::RemoveSink(sink);
   video_source_->RemoveSink(sink);
diff --git a/webrtc/api/videotrack.h b/webrtc/api/videotrack.h
index 60a0a64..cbebec3 100644
--- a/webrtc/api/videotrack.h
+++ b/webrtc/api/videotrack.h
@@ -29,9 +29,9 @@
       const std::string& label,
       VideoTrackSourceInterface* source);
 
-  void AddOrUpdateSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink,
+  void AddOrUpdateSink(rtc::VideoSinkInterface<VideoFrame>* sink,
                        const rtc::VideoSinkWants& wants) override;
-  void RemoveSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink) override;
+  void RemoveSink(rtc::VideoSinkInterface<VideoFrame>* sink) override;
 
   VideoTrackSourceInterface* GetSource() const override {
     return video_source_.get();
diff --git a/webrtc/api/videotrack_unittest.cc b/webrtc/api/videotrack_unittest.cc
index 0b67c77..5320482 100644
--- a/webrtc/api/videotrack_unittest.cc
+++ b/webrtc/api/videotrack_unittest.cc
@@ -17,7 +17,6 @@
 #include "webrtc/base/gunit.h"
 #include "webrtc/media/base/fakevideocapturer.h"
 #include "webrtc/media/base/fakemediaengine.h"
-#include "webrtc/media/engine/webrtcvideoframe.h"
 
 using webrtc::FakeVideoTrackRenderer;
 using webrtc::MediaSourceInterface;
diff --git a/webrtc/api/videotracksource.cc b/webrtc/api/videotracksource.cc
index 17d32fb..83ae493 100644
--- a/webrtc/api/videotracksource.cc
+++ b/webrtc/api/videotracksource.cc
@@ -15,7 +15,7 @@
 namespace webrtc {
 
 VideoTrackSource::VideoTrackSource(
-    rtc::VideoSourceInterface<cricket::VideoFrame>* source,
+    rtc::VideoSourceInterface<VideoFrame>* source,
     bool remote)
     : source_(source), state_(kInitializing), remote_(remote) {
   worker_thread_checker_.DetachFromThread();
@@ -33,7 +33,7 @@
 }
 
 void VideoTrackSource::AddOrUpdateSink(
-    rtc::VideoSinkInterface<cricket::VideoFrame>* sink,
+    rtc::VideoSinkInterface<VideoFrame>* sink,
     const rtc::VideoSinkWants& wants) {
   RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
   if (!source_) {
@@ -42,8 +42,7 @@
   source_->AddOrUpdateSink(sink, wants);
 }
 
-void VideoTrackSource::RemoveSink(
-    rtc::VideoSinkInterface<cricket::VideoFrame>* sink) {
+void VideoTrackSource::RemoveSink(rtc::VideoSinkInterface<VideoFrame>* sink) {
   RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
   if (!source_) {
     return;
diff --git a/webrtc/api/videotracksource.h b/webrtc/api/videotracksource.h
index 67e764f..330af23 100644
--- a/webrtc/api/videotracksource.h
+++ b/webrtc/api/videotracksource.h
@@ -22,8 +22,7 @@
 
 class VideoTrackSource : public Notifier<VideoTrackSourceInterface> {
  public:
-  VideoTrackSource(rtc::VideoSourceInterface<cricket::VideoFrame>* source,
-                   bool remote);
+  VideoTrackSource(rtc::VideoSourceInterface<VideoFrame>* source, bool remote);
   void SetState(SourceState new_state);
   // OnSourceDestroyed clears this instance pointer to |source_|. It is useful
   // when the underlying rtc::VideoSourceInterface is destroyed before the
@@ -39,13 +38,13 @@
 
   bool GetStats(Stats* stats) override { return false; }
 
-  void AddOrUpdateSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink,
+  void AddOrUpdateSink(rtc::VideoSinkInterface<VideoFrame>* sink,
                        const rtc::VideoSinkWants& wants) override;
-  void RemoveSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink) override;
+  void RemoveSink(rtc::VideoSinkInterface<VideoFrame>* sink) override;
 
  private:
   rtc::ThreadChecker worker_thread_checker_;
-  rtc::VideoSourceInterface<cricket::VideoFrame>* source_;
+  rtc::VideoSourceInterface<VideoFrame>* source_;
   cricket::VideoOptions options_;
   SourceState state_;
   const bool remote_;