| 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);
|
| }
|
|
|