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

Unified Diff: webrtc/api/test/fakevideotrackrenderer.h

Issue 1684423002: Make VideoTrack and VideoTrackRenderers implement rtc::VideoSourceInterface. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Delete unused last_frame method and corresponding member. Created 4 years, 10 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
« no previous file with comments | « webrtc/api/mediastreamtrackproxy.h ('k') | webrtc/api/videotrack.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/api/test/fakevideotrackrenderer.h
diff --git a/webrtc/api/test/fakevideotrackrenderer.h b/webrtc/api/test/fakevideotrackrenderer.h
index 816b44744fc2acc35e6d9e62119fab5702331552..387ce51b426f1b470eac4c5966374acba7dce59a 100644
--- a/webrtc/api/test/fakevideotrackrenderer.h
+++ b/webrtc/api/test/fakevideotrackrenderer.h
@@ -16,18 +16,43 @@
namespace webrtc {
-class FakeVideoTrackRenderer : public VideoRendererInterface {
+class FakeVideoTrackRenderer
nisse-webrtc 2016/02/25 11:42:28 Actually, I'm not sure this class adds anything us
+ : public rtc::VideoSinkInterface<cricket::VideoFrame> {
public:
FakeVideoTrackRenderer(VideoTrackInterface* video_track)
- : video_track_(video_track), last_frame_(NULL) {
- video_track_->AddRenderer(this);
+ : video_track_(video_track) {
+ video_track_->AddOrUpdateSink(this, rtc::VideoSinkWants());
+ }
+ ~FakeVideoTrackRenderer() { video_track_->RemoveSink(this); }
+
+ virtual void OnFrame(const cricket::VideoFrame& video_frame) override {
+ fake_renderer_.RenderFrame(&video_frame);
}
- ~FakeVideoTrackRenderer() {
- video_track_->RemoveRenderer(this);
+
+ int errors() const { return fake_renderer_.errors(); }
+ int width() const { return fake_renderer_.width(); }
+ int height() const { return fake_renderer_.height(); }
+ bool black_frame() const { return fake_renderer_.black_frame(); }
+
+ int num_rendered_frames() const {
+ return fake_renderer_.num_rendered_frames();
}
+ private:
+ cricket::FakeVideoRenderer fake_renderer_;
+ rtc::scoped_refptr<VideoTrackInterface> video_track_;
+};
+
+// Similar class, testing the deprecated AddRenderer/RemoveRenderer methods.
+class FakeVideoTrackRendererOld : public VideoRendererInterface {
+ public:
+ FakeVideoTrackRendererOld(VideoTrackInterface* video_track)
+ : video_track_(video_track) {
+ video_track_->AddRenderer(this);
+ }
+ ~FakeVideoTrackRendererOld() { video_track_->RemoveRenderer(this); }
+
virtual void RenderFrame(const cricket::VideoFrame* video_frame) override {
- last_frame_ = const_cast<cricket::VideoFrame*>(video_frame);
fake_renderer_.RenderFrame(video_frame);
}
@@ -39,14 +64,10 @@ class FakeVideoTrackRenderer : public VideoRendererInterface {
int num_rendered_frames() const {
return fake_renderer_.num_rendered_frames();
}
- const cricket::VideoFrame* last_frame() const { return last_frame_; }
private:
cricket::FakeVideoRenderer fake_renderer_;
rtc::scoped_refptr<VideoTrackInterface> video_track_;
-
- // Weak reference for frame pointer comparison only.
- cricket::VideoFrame* last_frame_;
};
} // namespace webrtc
« no previous file with comments | « webrtc/api/mediastreamtrackproxy.h ('k') | webrtc/api/videotrack.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698