Chromium Code Reviews| 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); |