aboutsummaryrefslogtreecommitdiff
path: root/pc/videotrack_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'pc/videotrack_unittest.cc')
-rw-r--r--pc/videotrack_unittest.cc31
1 files changed, 20 insertions, 11 deletions
diff --git a/pc/videotrack_unittest.cc b/pc/videotrack_unittest.cc
index 77d16dec78..e833d6ddf0 100644
--- a/pc/videotrack_unittest.cc
+++ b/pc/videotrack_unittest.cc
@@ -25,22 +25,31 @@ using webrtc::VideoTrackSource;
using webrtc::VideoTrack;
using webrtc::VideoTrackInterface;
+class TestVideoTrackSource : public VideoTrackSource {
+ public:
+ TestVideoTrackSource() : VideoTrackSource(true /* remote */) {}
+ rtc::VideoSourceInterface<webrtc::VideoFrame>* source() override {
+ return &capturer_;
+ }
+ cricket::FakeVideoCapturerWithTaskQueue* capturer() { return &capturer_; }
+
+ private:
+ cricket::FakeVideoCapturerWithTaskQueue capturer_;
+};
class VideoTrackTest : public testing::Test {
public:
VideoTrackTest() {
static const char kVideoTrackId[] = "track_id";
- video_track_source_ = new rtc::RefCountedObject<VideoTrackSource>(
- &capturer_, true /* remote */);
+ video_track_source_ = new rtc::RefCountedObject<TestVideoTrackSource>();
video_track_ = VideoTrack::Create(kVideoTrackId, video_track_source_,
rtc::Thread::Current());
- capturer_.Start(
+ video_track_source_->capturer()->Start(
cricket::VideoFormat(640, 480, cricket::VideoFormat::FpsToInterval(30),
cricket::FOURCC_I420));
}
protected:
- cricket::FakeVideoCapturerWithTaskQueue capturer_;
- rtc::scoped_refptr<VideoTrackSource> video_track_source_;
+ rtc::scoped_refptr<TestVideoTrackSource> video_track_source_;
rtc::scoped_refptr<VideoTrackInterface> video_track_;
};
@@ -58,18 +67,18 @@ TEST_F(VideoTrackTest, RenderVideo) {
std::unique_ptr<FakeVideoTrackRenderer> renderer_1(
new FakeVideoTrackRenderer(video_track_.get()));
- capturer_.CaptureFrame();
+ video_track_source_->capturer()->CaptureFrame();
EXPECT_EQ(1, renderer_1->num_rendered_frames());
// FakeVideoTrackRenderer register itself to |video_track_|
std::unique_ptr<FakeVideoTrackRenderer> renderer_2(
new FakeVideoTrackRenderer(video_track_.get()));
- capturer_.CaptureFrame();
+ video_track_source_->capturer()->CaptureFrame();
EXPECT_EQ(2, renderer_1->num_rendered_frames());
EXPECT_EQ(1, renderer_2->num_rendered_frames());
renderer_1.reset(nullptr);
- capturer_.CaptureFrame();
+ video_track_source_->capturer()->CaptureFrame();
EXPECT_EQ(2, renderer_2->num_rendered_frames());
}
@@ -78,17 +87,17 @@ TEST_F(VideoTrackTest, DisableTrackBlackout) {
std::unique_ptr<FakeVideoTrackRenderer> renderer(
new FakeVideoTrackRenderer(video_track_.get()));
- capturer_.CaptureFrame();
+ video_track_source_->capturer()->CaptureFrame();
EXPECT_EQ(1, renderer->num_rendered_frames());
EXPECT_FALSE(renderer->black_frame());
video_track_->set_enabled(false);
- capturer_.CaptureFrame();
+ video_track_source_->capturer()->CaptureFrame();
EXPECT_EQ(2, renderer->num_rendered_frames());
EXPECT_TRUE(renderer->black_frame());
video_track_->set_enabled(true);
- capturer_.CaptureFrame();
+ video_track_source_->capturer()->CaptureFrame();
EXPECT_EQ(3, renderer->num_rendered_frames());
EXPECT_FALSE(renderer->black_frame());
}