Index: webrtc/test/frame_generator.cc |
diff --git a/webrtc/test/frame_generator.cc b/webrtc/test/frame_generator.cc |
index ed7e95a12679d2abc36da2e56a4e194206c7d198..0c2850bb9cf0f4e32ab9ddbe752ef4d7006726fc 100644 |
--- a/webrtc/test/frame_generator.cc |
+++ b/webrtc/test/frame_generator.cc |
@@ -239,6 +239,27 @@ class ScrollingImageFrameGenerator : public FrameGenerator { |
} // namespace |
+FrameForwarder::FrameForwarder() : sink_(nullptr) {} |
+ |
+void FrameForwarder::IncomingCapturedFrame(const VideoFrame& video_frame) { |
+ rtc::CritScope lock(&crit_); |
+ if (sink_) |
+ sink_->OnFrame(video_frame); |
+} |
+ |
+void FrameForwarder::AddOrUpdateSink(rtc::VideoSinkInterface<VideoFrame>* sink, |
+ const rtc::VideoSinkWants& wants) { |
+ rtc::CritScope lock(&crit_); |
+ RTC_DCHECK(!sink_ || sink_ == sink); |
+ sink_ = sink; |
+} |
+ |
+void FrameForwarder::RemoveSink(rtc::VideoSinkInterface<VideoFrame>* sink) { |
+ rtc::CritScope lock(&crit_); |
+ RTC_DCHECK(sink == sink_); |
stefan-webrtc
2016/09/13 09:26:43
DCHECK_EQ. Also the same comment applies as in the
perkj_webrtc
2016/09/14 14:20:22
Done.
|
+ sink_ = nullptr; |
+} |
+ |
FrameGenerator* FrameGenerator::CreateChromaGenerator(size_t width, |
size_t height) { |
return new ChromaGenerator(width, height); |