Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1701)

Unified Diff: talk/media/base/fakevideocapturer.h

Issue 1655793003: Make cricket::VideoCapturer implement VideoSourceInterface (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Adding VideoSourceInterface and letting cricket::VideoCapturer implement it Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: talk/media/base/fakevideocapturer.h
diff --git a/talk/media/base/fakevideocapturer.h b/talk/media/base/fakevideocapturer.h
index a668ea7d0c937467a80ae4736530d3336ea41afc..d7875ff14597ef35e71e21a38795fb6946423b1e 100644
--- a/talk/media/base/fakevideocapturer.h
+++ b/talk/media/base/fakevideocapturer.h
@@ -34,7 +34,7 @@
#include "talk/media/base/videocapturer.h"
#include "talk/media/base/videocommon.h"
-#include "talk/media/base/videoframe.h"
+#include "talk/media/webrtc/webrtcvideoframe.h"
#include "webrtc/base/timeutils.h"
#ifdef HAVE_WEBRTC_VIDEO
#include "talk/media/webrtc/webrtcvideoframefactory.h"
@@ -132,6 +132,31 @@ class FakeVideoCapturer : public cricket::VideoCapturer {
return true;
}
+ void SetTime(int64_t t) {
+ next_timestamp_ = t;
+ }
+ // Helper function to generate a new frame and send it directly to
+ // |sink|, without using cricket::CapturedFrame SignalFrameCaptured.
+ void SendFrame(rtc::VideoSinkInterface<cricket::VideoFrame>* sink) {
+ int width = GetCaptureFormat()->width;
+ int height = GetCaptureFormat()->height;
+
+ rtc::scoped_refptr<webrtc::VideoFrameBuffer> buffer =
+ new rtc::RefCountedObject<webrtc::I420Buffer>(width, height);
+
+ memset(buffer->MutableData(webrtc::kYPlane), 1, width * height);
+ memset(buffer->MutableData(webrtc::kUPlane), 2,
+ (height+1)/2 * buffer->stride(webrtc::kUPlane));
+ memset(buffer->MutableData(webrtc::kVPlane), 3,
+ (height+1)/2 * buffer->stride(webrtc::kVPlane));
+
+ sink->OnFrame(WebRtcVideoFrame(buffer,
+ initial_unix_timestamp_ + next_timestamp_,
+ rotation_));
+
+ next_timestamp_ += GetCaptureFormat()->interval;
+ }
+
void SignalCapturedFrame(cricket::CapturedFrame* frame) {
SignalFrameCaptured(this, frame);
}

Powered by Google App Engine
This is Rietveld 408576698