Added A/V sync tests with drifting clocks.
adding 30% drift to media generator (e.g. audio frame generated every 7ms instead of promised 10ms) works fine
adding 2% drift to video ntp-timestamp-stamper makes A/V sync fail.

BUG=webrtc:5504
R=pbos@webrtc.org,stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1674413004

Cr-Original-Commit-Position: refs/heads/master@{#11556}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: 9c6a0c7f6dc4446431f5138170cc95751ee5af8b
diff --git a/test/call_test.cc b/test/call_test.cc
index e9651e3..a0b5234 100644
--- a/test/call_test.cc
+++ b/test/call_test.cc
@@ -236,6 +236,14 @@
   }
 }
 
+void CallTest::CreateFrameGeneratorCapturerWithDrift(Clock* clock,
+                                                     float speed) {
+  VideoStream stream = video_encoder_config_.streams.back();
+  frame_generator_capturer_.reset(test::FrameGeneratorCapturer::Create(
+      video_send_stream_->Input(), stream.width, stream.height,
+      stream.max_framerate * speed, clock));
+}
+
 void CallTest::CreateFrameGeneratorCapturer() {
   VideoStream stream = video_encoder_config_.streams.back();
   frame_generator_capturer_.reset(test::FrameGeneratorCapturer::Create(
@@ -245,9 +253,11 @@
 
 void CallTest::CreateFakeAudioDevices() {
   fake_send_audio_device_.reset(new FakeAudioDevice(
-      clock_, test::ResourcePath("voice_engine/audio_long16", "pcm")));
+      clock_, test::ResourcePath("voice_engine/audio_long16", "pcm"),
+      DriftingClock::kNoDrift));
   fake_recv_audio_device_.reset(new FakeAudioDevice(
-      clock_, test::ResourcePath("voice_engine/audio_long16", "pcm")));
+      clock_, test::ResourcePath("voice_engine/audio_long16", "pcm"),
+      DriftingClock::kNoDrift));
 }
 
 void CallTest::CreateVideoStreams() {