Offline screenshare quality test, plus loopback.

BUG=4171
R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8408}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8408 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/webrtc/test/frame_generator.h b/webrtc/test/frame_generator.h
index fe10612..4598de8 100644
--- a/webrtc/test/frame_generator.h
+++ b/webrtc/test/frame_generator.h
@@ -10,6 +10,9 @@
 #ifndef WEBRTC_COMMON_VIDEO_TEST_FRAME_GENERATOR_H_
 #define WEBRTC_COMMON_VIDEO_TEST_FRAME_GENERATOR_H_
 
+#include <string>
+#include <vector>
+
 #include "webrtc/common_video/interface/i420_video_frame.h"
 #include "webrtc/typedefs.h"
 
@@ -24,10 +27,17 @@
   // Returns video frame that remains valid until next call.
   virtual I420VideoFrame* NextFrame() = 0;
 
-  static FrameGenerator* Create(size_t width, size_t height);
-  static FrameGenerator* CreateFromYuvFile(const char* file,
+  // Creates a test frame generator that creates fully saturated frames with
+  // varying U, V values over time.
+  static FrameGenerator* CreateChromaGenerator(size_t width, size_t height);
+
+  // Creates a frame generator that repeatedly plays a set of yuv files.
+  // The frame_repeat_count determines how many times each frame is shown,
+  // with 0 = show the first frame indefinitely, 1 = show each frame once, etc.
+  static FrameGenerator* CreateFromYuvFile(std::vector<std::string> files,
                                            size_t width,
-                                           size_t height);
+                                           size_t height,
+                                           int frame_repeat_count);
 };
 }  // namespace test
 }  // namespace webrtc