Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / webrtc / test / frame_generator_capturer.cc
index e04961d..d1c17c7 100644 (file)
@@ -10,7 +10,7 @@
 
 #include "webrtc/test/frame_generator_capturer.h"
 
-#include "webrtc/common_video/test/frame_generator.h"
+#include "webrtc/test/frame_generator.h"
 #include "webrtc/system_wrappers/interface/clock.h"
 #include "webrtc/system_wrappers/interface/critical_section_wrapper.h"
 #include "webrtc/system_wrappers/interface/event_wrapper.h"
@@ -67,7 +67,8 @@ FrameGeneratorCapturer::FrameGeneratorCapturer(Clock* clock,
       tick_(EventWrapper::Create()),
       lock_(CriticalSectionWrapper::CreateCriticalSection()),
       frame_generator_(frame_generator),
-      target_fps_(target_fps) {
+      target_fps_(target_fps),
+      first_frame_capture_time_(-1) {
   assert(input != NULL);
   assert(frame_generator != NULL);
   assert(target_fps > 0);
@@ -111,11 +112,12 @@ void FrameGeneratorCapturer::InsertFrame() {
   {
     CriticalSectionScoped cs(lock_.get());
     if (sending_) {
-      int64_t time_before = clock_->CurrentNtpInMilliseconds();
-      I420VideoFrame& frame = frame_generator_->NextFrame();
-      frame.set_render_time_ms(time_before);
-      int64_t time_after = clock_->CurrentNtpInMilliseconds();
-      input_->PutFrame(frame, static_cast<uint32_t>(time_after - time_before));
+      I420VideoFrame* frame = frame_generator_->NextFrame();
+      frame->set_render_time_ms(clock_->CurrentNtpInMilliseconds());
+      if (first_frame_capture_time_ == -1) {
+        first_frame_capture_time_ = frame->render_time_ms();
+      }
+      input_->SwapFrame(frame);
     }
   }
   tick_->Wait(WEBRTC_EVENT_INFINITE);