Move IncomingVideoFrames to common_video/.

Permits using IncomingVideoFrame in VideoReceiveStream without depending
on VideoRender.

BUG=4588
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9184}
diff --git a/webrtc/common_video/BUILD.gn b/webrtc/common_video/BUILD.gn
index 308661a..e5cac4d 100644
--- a/webrtc/common_video/BUILD.gn
+++ b/webrtc/common_video/BUILD.gn
@@ -19,13 +19,17 @@
   sources = [
     "i420_buffer_pool.cc",
     "i420_video_frame.cc",
+    "incoming_video_stream.cc",
     "interface/i420_buffer_pool.h",
+    "interface/incoming_video_stream.h",
     "interface/video_frame_buffer.h",
     "libyuv/include/scaler.h",
     "libyuv/include/webrtc_libyuv.h",
     "libyuv/scaler.cc",
     "libyuv/webrtc_libyuv.cc",
     "video_frame_buffer.cc",
+    "video_render_frames.cc",
+    "video_render_frames.h",
   ]
 
   include_dirs = [ "../modules/interface" ]
diff --git a/webrtc/common_video/common_video.gyp b/webrtc/common_video/common_video.gyp
index 53e074b..daac9ce 100644
--- a/webrtc/common_video/common_video.gyp
+++ b/webrtc/common_video/common_video.gyp
@@ -41,13 +41,17 @@
       'sources': [
         'i420_buffer_pool.cc',
         'i420_video_frame.cc',
+        'incoming_video_stream.cc',
         'interface/i420_buffer_pool.h',
+        'interface/incoming_video_stream.h',
         'interface/video_frame_buffer.h',
         'libyuv/include/scaler.h',
         'libyuv/include/webrtc_libyuv.h',
         'libyuv/scaler.cc',
         'libyuv/webrtc_libyuv.cc',
         'video_frame_buffer.cc',
+        'video_render_frames.cc',
+        'video_render_frames.h',
       ],
     },
   ],  # targets
diff --git a/webrtc/modules/video_render/incoming_video_stream.cc b/webrtc/common_video/incoming_video_stream.cc
similarity index 98%
rename from webrtc/modules/video_render/incoming_video_stream.cc
rename to webrtc/common_video/incoming_video_stream.cc
index d5352d6..471e6dc 100644
--- a/webrtc/modules/video_render/incoming_video_stream.cc
+++ b/webrtc/common_video/incoming_video_stream.cc
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "webrtc/modules/video_render/incoming_video_stream.h"
+#include "webrtc/common_video/interface/incoming_video_stream.h"
 
 #include <assert.h>
 
@@ -22,7 +22,7 @@
 #endif
 
 #include "webrtc/common_video/libyuv/include/webrtc_libyuv.h"
-#include "webrtc/modules/video_render/video_render_frames.h"
+#include "webrtc/common_video/video_render_frames.h"
 #include "webrtc/system_wrappers/interface/critical_section_wrapper.h"
 #include "webrtc/system_wrappers/interface/event_wrapper.h"
 #include "webrtc/system_wrappers/interface/thread_wrapper.h"
diff --git a/webrtc/modules/video_render/incoming_video_stream.h b/webrtc/common_video/interface/incoming_video_stream.h
similarity index 86%
rename from webrtc/modules/video_render/incoming_video_stream.h
rename to webrtc/common_video/interface/incoming_video_stream.h
index c636e13..f5383b5 100644
--- a/webrtc/modules/video_render/incoming_video_stream.h
+++ b/webrtc/common_video/interface/incoming_video_stream.h
@@ -8,19 +8,25 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_MODULES_VIDEO_RENDER_MAIN_SOURCE_INCOMING_VIDEO_STREAM_H_
-#define WEBRTC_MODULES_VIDEO_RENDER_MAIN_SOURCE_INCOMING_VIDEO_STREAM_H_
+#ifndef WEBRTC_COMMON_VIDEO_INTERFACE_INCOMING_VIDEO_STREAM_H_
+#define WEBRTC_COMMON_VIDEO_INTERFACE_INCOMING_VIDEO_STREAM_H_
 
 #include "webrtc/base/scoped_ptr.h"
 #include "webrtc/base/thread_annotations.h"
-#include "webrtc/modules/video_render/include/video_render.h"
+#include "webrtc/common_video/video_render_frames.h"
 
 namespace webrtc {
 class CriticalSectionWrapper;
 class EventTimerWrapper;
 class ThreadWrapper;
-class VideoRenderCallback;
-class VideoRenderFrames;
+
+class VideoRenderCallback {
+ public:
+  virtual int32_t RenderFrame(const uint32_t streamId,
+                              const I420VideoFrame& videoFrame) = 0;
+ protected:
+  virtual ~VideoRenderCallback() {}
+};
 
 class IncomingVideoStream : public VideoRenderCallback {
  public:
@@ -92,4 +98,4 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_MODULES_VIDEO_RENDER_MAIN_SOURCE_INCOMING_VIDEO_STREAM_H_
+#endif  // WEBRTC_COMMON_VIDEO_INTERFACE_INCOMING_VIDEO_STREAM_H_
diff --git a/webrtc/modules/video_render/video_render_frames.cc b/webrtc/common_video/video_render_frames.cc
similarity index 97%
rename from webrtc/modules/video_render/video_render_frames.cc
rename to webrtc/common_video/video_render_frames.cc
index 107625c..abd1e43 100644
--- a/webrtc/modules/video_render/video_render_frames.cc
+++ b/webrtc/common_video/video_render_frames.cc
@@ -8,7 +8,7 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#include "webrtc/modules/video_render/video_render_frames.h"
+#include "webrtc/common_video/video_render_frames.h"
 
 #include <assert.h>
 
diff --git a/webrtc/modules/video_render/video_render_frames.h b/webrtc/common_video/video_render_frames.h
similarity index 82%
rename from webrtc/modules/video_render/video_render_frames.h
rename to webrtc/common_video/video_render_frames.h
index 4094074..31d1597 100644
--- a/webrtc/modules/video_render/video_render_frames.h
+++ b/webrtc/common_video/video_render_frames.h
@@ -8,12 +8,14 @@
  *  be found in the AUTHORS file in the root of the source tree.
  */
 
-#ifndef WEBRTC_MODULES_VIDEO_RENDER_MAIN_SOURCE_VIDEO_RENDER_FRAMES_H_  // NOLINT
-#define WEBRTC_MODULES_VIDEO_RENDER_MAIN_SOURCE_VIDEO_RENDER_FRAMES_H_  // NOLINT
+#ifndef WEBRTC_COMMON_VIDEO_VIDEO_RENDER_FRAMES_H_
+#define WEBRTC_COMMON_VIDEO_VIDEO_RENDER_FRAMES_H_
+
+#include <stdint.h>
 
 #include <list>
 
-#include "webrtc/modules/video_render/include/video_render.h"
+#include "webrtc/video_frame.h"
 
 namespace webrtc {
 
@@ -54,4 +56,4 @@
 
 }  // namespace webrtc
 
-#endif  // WEBRTC_MODULES_VIDEO_RENDER_MAIN_SOURCE_VIDEO_RENDER_FRAMES_H_  // NOLINT
+#endif  // WEBRTC_COMMON_VIDEO_VIDEO_RENDER_FRAMES_H_
diff --git a/webrtc/modules/video_render/BUILD.gn b/webrtc/modules/video_render/BUILD.gn
index 1e3e3e5..8a2b923 100644
--- a/webrtc/modules/video_render/BUILD.gn
+++ b/webrtc/modules/video_render/BUILD.gn
@@ -15,10 +15,6 @@
     "i_video_render.h",
     "include/video_render.h",
     "include/video_render_defines.h",
-    "incoming_video_stream.cc",
-    "incoming_video_stream.h",
-    "video_render_frames.cc",
-    "video_render_frames.h",
     "video_render_impl.h",
   ]
 
diff --git a/webrtc/modules/video_render/include/video_render_defines.h b/webrtc/modules/video_render/include/video_render_defines.h
index 4479c37..f8f4803 100644
--- a/webrtc/modules/video_render/include/video_render_defines.h
+++ b/webrtc/modules/video_render/include/video_render_defines.h
@@ -12,8 +12,8 @@
 #define WEBRTC_MODULES_VIDEO_RENDER_MAIN_INTERFACE_VIDEO_RENDER_DEFINES_H_
 
 #include "webrtc/common_types.h"
+#include "webrtc/common_video/interface/incoming_video_stream.h"
 #include "webrtc/modules/interface/module_common_types.h"
-#include "webrtc/video_frame.h"
 
 namespace webrtc
 {
@@ -42,20 +42,6 @@
     kRenderPerformanceAlarm = 1
 };
 
-// The object a module user uses to send new frames to the renderer
-// One object is used for each incoming stream
-class VideoRenderCallback
-{
-public:
-    virtual int32_t RenderFrame(const uint32_t streamId,
-                                const I420VideoFrame& videoFrame) = 0;
-
-protected:
-    virtual ~VideoRenderCallback()
-    {
-    }
-};
-
 // Feedback class to be implemented by module user
 class VideoRenderFeedback
 {
diff --git a/webrtc/modules/video_render/video_render.gypi b/webrtc/modules/video_render/video_render.gypi
index 12ef354..c7b0d7f 100644
--- a/webrtc/modules/video_render/video_render.gypi
+++ b/webrtc/modules/video_render/video_render.gypi
@@ -27,10 +27,6 @@
         'i_video_render.h',
         'include/video_render.h',
         'include/video_render_defines.h',
-        'incoming_video_stream.cc',
-        'incoming_video_stream.h',
-        'video_render_frames.cc',
-        'video_render_frames.h',
         'video_render_impl.h',
       ],
     },
diff --git a/webrtc/modules/video_render/video_render_impl.cc b/webrtc/modules/video_render/video_render_impl.cc
index 96a266c..513efa8 100644
--- a/webrtc/modules/video_render/video_render_impl.cc
+++ b/webrtc/modules/video_render/video_render_impl.cc
@@ -10,11 +10,11 @@
 
 #include <assert.h>
 
+#include "webrtc/common_video/interface/incoming_video_stream.h"
 #include "webrtc/engine_configurations.h"
 #include "webrtc/modules/video_render/external/video_render_external_impl.h"
-#include "webrtc/modules/video_render/include/video_render_defines.h"
-#include "webrtc/modules/video_render/incoming_video_stream.h"
 #include "webrtc/modules/video_render/i_video_render.h"
+#include "webrtc/modules/video_render/include/video_render_defines.h"
 #include "webrtc/modules/video_render/video_render_impl.h"
 #include "webrtc/system_wrappers/interface/critical_section_wrapper.h"
 #include "webrtc/system_wrappers/interface/trace.h"
diff --git a/webrtc/modules/video_render/video_render_internal_impl.cc b/webrtc/modules/video_render/video_render_internal_impl.cc
index 42cebf9..e7f39a5 100644
--- a/webrtc/modules/video_render/video_render_internal_impl.cc
+++ b/webrtc/modules/video_render/video_render_internal_impl.cc
@@ -10,10 +10,10 @@
 
 #include <assert.h>
 
+#include "webrtc/common_video/interface/incoming_video_stream.h"
 #include "webrtc/engine_configurations.h"
 #include "webrtc/modules/video_render/i_video_render.h"
 #include "webrtc/modules/video_render/include/video_render_defines.h"
-#include "webrtc/modules/video_render/incoming_video_stream.h"
 #include "webrtc/modules/video_render/video_render_impl.h"
 #include "webrtc/system_wrappers/interface/critical_section_wrapper.h"
 #include "webrtc/system_wrappers/interface/trace.h"
diff --git a/webrtc/video/video_receive_stream.h b/webrtc/video/video_receive_stream.h
index 3d08f72..1a57a42 100644
--- a/webrtc/video/video_receive_stream.h
+++ b/webrtc/video/video_receive_stream.h
@@ -15,9 +15,9 @@
 
 #include "webrtc/base/scoped_ptr.h"
 #include "webrtc/call.h"
+#include "webrtc/common_video/interface/incoming_video_stream.h"
 #include "webrtc/common_video/libyuv/include/webrtc_libyuv.h"
 #include "webrtc/modules/video_render/include/video_render_defines.h"
-#include "webrtc/modules/video_render/incoming_video_stream.h"
 #include "webrtc/system_wrappers/interface/clock.h"
 #include "webrtc/video/encoded_frame_callback_adapter.h"
 #include "webrtc/video/receive_statistics_proxy.h"
diff --git a/webrtc/video_engine/vie_channel.cc b/webrtc/video_engine/vie_channel.cc
index 9b179b7..f0cc56c 100644
--- a/webrtc/video_engine/vie_channel.cc
+++ b/webrtc/video_engine/vie_channel.cc
@@ -15,6 +15,7 @@
 
 #include "webrtc/base/checks.h"
 #include "webrtc/common.h"
+#include "webrtc/common_video/interface/incoming_video_stream.h"
 #include "webrtc/common_video/libyuv/include/webrtc_libyuv.h"
 #include "webrtc/experiments.h"
 #include "webrtc/frame_callback.h"
@@ -26,7 +27,6 @@
 #include "webrtc/modules/video_coding/main/interface/video_coding.h"
 #include "webrtc/modules/video_processing/main/interface/video_processing.h"
 #include "webrtc/modules/video_render/include/video_render_defines.h"
-#include "webrtc/modules/video_render/incoming_video_stream.h"
 #include "webrtc/system_wrappers/interface/critical_section_wrapper.h"
 #include "webrtc/system_wrappers/interface/logging.h"
 #include "webrtc/system_wrappers/interface/metrics.h"