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

Unified Diff: webrtc/video/vie_encoder_unittest.cc

Issue 2257413002: Replace interface VideoCapturerInput with VideoSinkInterface. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Fix EXPECT_GT order. Created 4 years, 3 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
Index: webrtc/video/vie_encoder_unittest.cc
diff --git a/webrtc/video/vie_encoder_unittest.cc b/webrtc/video/vie_encoder_unittest.cc
index 698dd3a54088b8873a2473ca69707adf1664c632..835f48f43ca0db486f88187716135159068fa746 100644
--- a/webrtc/video/vie_encoder_unittest.cc
+++ b/webrtc/video/vie_encoder_unittest.cc
@@ -12,6 +12,7 @@
#include "webrtc/base/logging.h"
#include "webrtc/test/encoder_settings.h"
#include "webrtc/test/fake_encoder.h"
+#include "webrtc/test/frame_generator.h"
#include "webrtc/video/send_statistics_proxy.h"
#include "webrtc/video/vie_encoder.h"
@@ -42,6 +43,7 @@ class ViEEncoderTest : public ::testing::Test {
video_send_config_.encoder_settings, nullptr /* pre_encode_callback */,
nullptr /* overuse_callback */, nullptr /* encoder_timing */));
vie_encoder_->SetSink(&sink_);
+ vie_encoder_->SetSource(&forwarder_);
vie_encoder_->SetStartBitrate(10000);
vie_encoder_->ConfigureEncoder(video_encoder_config_, 1440);
}
@@ -164,6 +166,7 @@ class ViEEncoderTest : public ::testing::Test {
TestEncoder fake_encoder_;
SendStatisticsProxy stats_proxy_;
TestSink sink_;
+ test::FrameForwarder forwarder_;
std::unique_ptr<ViEEncoder> vie_encoder_;
};
@@ -171,7 +174,7 @@ TEST_F(ViEEncoderTest, EncodeOneFrame) {
const int kTargetBitrateBps = 100000;
vie_encoder_->OnBitrateUpdated(kTargetBitrateBps, 0, 0);
rtc::Event frame_destroyed_event(false, false);
- vie_encoder_->IncomingCapturedFrame(CreateFrame(1, &frame_destroyed_event));
+ forwarder_.IncomingCapturedFrame(CreateFrame(1, &frame_destroyed_event));
sink_.WaitForEncodedFrame(1);
frame_destroyed_event.Wait(kDefaultTimeoutMs);
vie_encoder_->Stop();
@@ -180,13 +183,13 @@ TEST_F(ViEEncoderTest, EncodeOneFrame) {
TEST_F(ViEEncoderTest, DropsFramesBeforeFirstOnBitrateUpdated) {
// Dropped since no target bitrate has been set.
rtc::Event frame_destroyed_event(false, false);
- vie_encoder_->IncomingCapturedFrame(CreateFrame(1, &frame_destroyed_event));
+ forwarder_.IncomingCapturedFrame(CreateFrame(1, &frame_destroyed_event));
frame_destroyed_event.Wait(kDefaultTimeoutMs);
const int kTargetBitrateBps = 100000;
vie_encoder_->OnBitrateUpdated(kTargetBitrateBps, 0, 0);
- vie_encoder_->IncomingCapturedFrame(CreateFrame(2, nullptr));
+ forwarder_.IncomingCapturedFrame(CreateFrame(2, nullptr));
sink_.WaitForEncodedFrame(2);
vie_encoder_->Stop();
}
@@ -194,15 +197,16 @@ TEST_F(ViEEncoderTest, DropsFramesBeforeFirstOnBitrateUpdated) {
TEST_F(ViEEncoderTest, DropsFramesWhenRateSetToZero) {
const int kTargetBitrateBps = 100000;
vie_encoder_->OnBitrateUpdated(kTargetBitrateBps, 0, 0);
- vie_encoder_->IncomingCapturedFrame(CreateFrame(1, nullptr));
+ forwarder_.IncomingCapturedFrame(CreateFrame(1, nullptr));
sink_.WaitForEncodedFrame(1);
vie_encoder_->OnBitrateUpdated(0, 0, 0);
// Dropped since bitrate is zero.
- vie_encoder_->IncomingCapturedFrame(CreateFrame(2, nullptr));
+ forwarder_.IncomingCapturedFrame(CreateFrame(1, nullptr));
+ forwarder_.IncomingCapturedFrame(CreateFrame(2, nullptr));
stefan-webrtc 2016/09/06 12:24:38 The test is changed here. Can you comment on why?
perkj_webrtc 2016/09/07 15:10:37 oops. Thanks- its a mistake.
vie_encoder_->OnBitrateUpdated(kTargetBitrateBps, 0, 0);
- vie_encoder_->IncomingCapturedFrame(CreateFrame(3, nullptr));
+ forwarder_.IncomingCapturedFrame(CreateFrame(3, nullptr));
sink_.WaitForEncodedFrame(3);
vie_encoder_->Stop();
}
@@ -210,13 +214,13 @@ TEST_F(ViEEncoderTest, DropsFramesWhenRateSetToZero) {
TEST_F(ViEEncoderTest, DropsFramesWithSameOrOldNtpTimestamp) {
const int kTargetBitrateBps = 100000;
vie_encoder_->OnBitrateUpdated(kTargetBitrateBps, 0, 0);
- vie_encoder_->IncomingCapturedFrame(CreateFrame(1, nullptr));
+ forwarder_.IncomingCapturedFrame(CreateFrame(1, nullptr));
sink_.WaitForEncodedFrame(1);
// This frame will be dropped since it has the same ntp timestamp.
- vie_encoder_->IncomingCapturedFrame(CreateFrame(1, nullptr));
+ forwarder_.IncomingCapturedFrame(CreateFrame(1, nullptr));
- vie_encoder_->IncomingCapturedFrame(CreateFrame(2, nullptr));
+ forwarder_.IncomingCapturedFrame(CreateFrame(2, nullptr));
sink_.WaitForEncodedFrame(2);
vie_encoder_->Stop();
}
@@ -225,13 +229,13 @@ TEST_F(ViEEncoderTest, DropsFrameAfterStop) {
const int kTargetBitrateBps = 100000;
vie_encoder_->OnBitrateUpdated(kTargetBitrateBps, 0, 0);
- vie_encoder_->IncomingCapturedFrame(CreateFrame(1, nullptr));
+ forwarder_.IncomingCapturedFrame(CreateFrame(1, nullptr));
sink_.WaitForEncodedFrame(1);
vie_encoder_->Stop();
sink_.SetExpectNoFrames();
rtc::Event frame_destroyed_event(false, false);
- vie_encoder_->IncomingCapturedFrame(CreateFrame(2, &frame_destroyed_event));
+ forwarder_.IncomingCapturedFrame(CreateFrame(2, nullptr));
perkj_webrtc 2016/09/07 15:10:37 I also noticed this mistake that passed the unitte
frame_destroyed_event.Wait(kDefaultTimeoutMs);
}
@@ -240,12 +244,12 @@ TEST_F(ViEEncoderTest, DropsPendingFramesOnSlowEncode) {
vie_encoder_->OnBitrateUpdated(kTargetBitrateBps, 0, 0);
fake_encoder_.BlockNextEncode();
- vie_encoder_->IncomingCapturedFrame(CreateFrame(1, nullptr));
+ forwarder_.IncomingCapturedFrame(CreateFrame(1, nullptr));
sink_.WaitForEncodedFrame(1);
// Here, the encoder thread will be blocked in the TestEncoder waiting for a
// call to ContinueEncode.
- vie_encoder_->IncomingCapturedFrame(CreateFrame(2, nullptr));
- vie_encoder_->IncomingCapturedFrame(CreateFrame(3, nullptr));
+ forwarder_.IncomingCapturedFrame(CreateFrame(2, nullptr));
+ forwarder_.IncomingCapturedFrame(CreateFrame(3, nullptr));
fake_encoder_.ContinueEncode();
sink_.WaitForEncodedFrame(3);

Powered by Google App Engine
This is Rietveld 408576698