Remove unused members in tests.
VideoStreamEncoderTest: Remove unneeded set_timestamp_rtp in CreateFrame methods (the timestamp is set based on ntp_time_ms in VideoStreamEncoder::OnFrame). Bug: none Change-Id: I6b5531a9ac21cde5dac54df6de9b9d43261e90c6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/214488 Reviewed-by: Sergey Silkin <ssilkin@webrtc.org> Commit-Queue: Åsa Persson <asapersson@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33683}
This commit is contained in:
parent
55de2926a8
commit
9071957da3
@ -30,18 +30,14 @@ namespace webrtc {
|
||||
class TestVCMReceiver : public ::testing::Test {
|
||||
protected:
|
||||
TestVCMReceiver()
|
||||
: clock_(new SimulatedClock(0)),
|
||||
timing_(clock_.get()),
|
||||
receiver_(&timing_, clock_.get()) {
|
||||
stream_generator_.reset(
|
||||
new StreamGenerator(0, clock_->TimeInMilliseconds()));
|
||||
}
|
||||
|
||||
virtual void SetUp() {}
|
||||
: clock_(0),
|
||||
timing_(&clock_),
|
||||
receiver_(&timing_, &clock_),
|
||||
stream_generator_(0, clock_.TimeInMilliseconds()) {}
|
||||
|
||||
int32_t InsertPacket(int index) {
|
||||
VCMPacket packet;
|
||||
bool packet_available = stream_generator_->GetPacket(&packet, index);
|
||||
bool packet_available = stream_generator_.GetPacket(&packet, index);
|
||||
EXPECT_TRUE(packet_available);
|
||||
if (!packet_available)
|
||||
return kGeneralError; // Return here to avoid crashes below.
|
||||
@ -50,7 +46,7 @@ class TestVCMReceiver : public ::testing::Test {
|
||||
|
||||
int32_t InsertPacketAndPop(int index) {
|
||||
VCMPacket packet;
|
||||
bool packet_available = stream_generator_->PopPacket(&packet, index);
|
||||
bool packet_available = stream_generator_.PopPacket(&packet, index);
|
||||
EXPECT_TRUE(packet_available);
|
||||
if (!packet_available)
|
||||
return kGeneralError; // Return here to avoid crashes below.
|
||||
@ -59,18 +55,18 @@ class TestVCMReceiver : public ::testing::Test {
|
||||
|
||||
int32_t InsertFrame(VideoFrameType frame_type, bool complete) {
|
||||
int num_of_packets = complete ? 1 : 2;
|
||||
stream_generator_->GenerateFrame(
|
||||
stream_generator_.GenerateFrame(
|
||||
frame_type,
|
||||
(frame_type != VideoFrameType::kEmptyFrame) ? num_of_packets : 0,
|
||||
(frame_type == VideoFrameType::kEmptyFrame) ? 1 : 0,
|
||||
clock_->TimeInMilliseconds());
|
||||
clock_.TimeInMilliseconds());
|
||||
int32_t ret = InsertPacketAndPop(0);
|
||||
if (!complete) {
|
||||
// Drop the second packet.
|
||||
VCMPacket packet;
|
||||
stream_generator_->PopPacket(&packet, 0);
|
||||
stream_generator_.PopPacket(&packet, 0);
|
||||
}
|
||||
clock_->AdvanceTimeMilliseconds(kDefaultFramePeriodMs);
|
||||
clock_.AdvanceTimeMilliseconds(kDefaultFramePeriodMs);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -82,10 +78,10 @@ class TestVCMReceiver : public ::testing::Test {
|
||||
return true;
|
||||
}
|
||||
|
||||
std::unique_ptr<SimulatedClock> clock_;
|
||||
SimulatedClock clock_;
|
||||
VCMTiming timing_;
|
||||
VCMReceiver receiver_;
|
||||
std::unique_ptr<StreamGenerator> stream_generator_;
|
||||
StreamGenerator stream_generator_;
|
||||
};
|
||||
|
||||
TEST_F(TestVCMReceiver, NonDecodableDuration_Empty) {
|
||||
@ -97,7 +93,7 @@ TEST_F(TestVCMReceiver, NonDecodableDuration_Empty) {
|
||||
kMaxNonDecodableDuration);
|
||||
EXPECT_GE(InsertFrame(VideoFrameType::kVideoFrameKey, true), kNoError);
|
||||
// Advance time until it's time to decode the key frame.
|
||||
clock_->AdvanceTimeMilliseconds(kMinDelayMs);
|
||||
clock_.AdvanceTimeMilliseconds(kMinDelayMs);
|
||||
EXPECT_TRUE(DecodeNextFrame());
|
||||
bool request_key_frame = false;
|
||||
std::vector<uint16_t> nack_list = receiver_.NackList(&request_key_frame);
|
||||
@ -129,7 +125,7 @@ TEST_F(TestVCMReceiver, NonDecodableDuration_OneIncomplete) {
|
||||
receiver_.SetNackSettings(kMaxNackListSize, kMaxPacketAgeToNack,
|
||||
kMaxNonDecodableDuration);
|
||||
timing_.set_min_playout_delay(kMinDelayMs);
|
||||
int64_t key_frame_inserted = clock_->TimeInMilliseconds();
|
||||
int64_t key_frame_inserted = clock_.TimeInMilliseconds();
|
||||
EXPECT_GE(InsertFrame(VideoFrameType::kVideoFrameKey, true), kNoError);
|
||||
// Insert an incomplete frame.
|
||||
EXPECT_GE(InsertFrame(VideoFrameType::kVideoFrameDelta, false), kNoError);
|
||||
@ -138,8 +134,8 @@ TEST_F(TestVCMReceiver, NonDecodableDuration_OneIncomplete) {
|
||||
EXPECT_GE(InsertFrame(VideoFrameType::kVideoFrameDelta, true), kNoError);
|
||||
}
|
||||
// Advance time until it's time to decode the key frame.
|
||||
clock_->AdvanceTimeMilliseconds(kMinDelayMs - clock_->TimeInMilliseconds() -
|
||||
key_frame_inserted);
|
||||
clock_.AdvanceTimeMilliseconds(kMinDelayMs - clock_.TimeInMilliseconds() -
|
||||
key_frame_inserted);
|
||||
EXPECT_TRUE(DecodeNextFrame());
|
||||
// Make sure we get a key frame request.
|
||||
bool request_key_frame = false;
|
||||
@ -157,7 +153,7 @@ TEST_F(TestVCMReceiver, NonDecodableDuration_NoTrigger) {
|
||||
receiver_.SetNackSettings(kMaxNackListSize, kMaxPacketAgeToNack,
|
||||
kMaxNonDecodableDuration);
|
||||
timing_.set_min_playout_delay(kMinDelayMs);
|
||||
int64_t key_frame_inserted = clock_->TimeInMilliseconds();
|
||||
int64_t key_frame_inserted = clock_.TimeInMilliseconds();
|
||||
EXPECT_GE(InsertFrame(VideoFrameType::kVideoFrameKey, true), kNoError);
|
||||
// Insert an incomplete frame.
|
||||
EXPECT_GE(InsertFrame(VideoFrameType::kVideoFrameDelta, false), kNoError);
|
||||
@ -167,8 +163,8 @@ TEST_F(TestVCMReceiver, NonDecodableDuration_NoTrigger) {
|
||||
EXPECT_GE(InsertFrame(VideoFrameType::kVideoFrameDelta, true), kNoError);
|
||||
}
|
||||
// Advance time until it's time to decode the key frame.
|
||||
clock_->AdvanceTimeMilliseconds(kMinDelayMs - clock_->TimeInMilliseconds() -
|
||||
key_frame_inserted);
|
||||
clock_.AdvanceTimeMilliseconds(kMinDelayMs - clock_.TimeInMilliseconds() -
|
||||
key_frame_inserted);
|
||||
EXPECT_TRUE(DecodeNextFrame());
|
||||
// Make sure we don't get a key frame request since we haven't generated
|
||||
// enough frames.
|
||||
@ -187,7 +183,7 @@ TEST_F(TestVCMReceiver, NonDecodableDuration_NoTrigger2) {
|
||||
receiver_.SetNackSettings(kMaxNackListSize, kMaxPacketAgeToNack,
|
||||
kMaxNonDecodableDuration);
|
||||
timing_.set_min_playout_delay(kMinDelayMs);
|
||||
int64_t key_frame_inserted = clock_->TimeInMilliseconds();
|
||||
int64_t key_frame_inserted = clock_.TimeInMilliseconds();
|
||||
EXPECT_GE(InsertFrame(VideoFrameType::kVideoFrameKey, true), kNoError);
|
||||
// Insert enough frames to have too long non-decodable sequence, except that
|
||||
// we don't have any losses.
|
||||
@ -197,8 +193,8 @@ TEST_F(TestVCMReceiver, NonDecodableDuration_NoTrigger2) {
|
||||
// Insert an incomplete frame.
|
||||
EXPECT_GE(InsertFrame(VideoFrameType::kVideoFrameDelta, false), kNoError);
|
||||
// Advance time until it's time to decode the key frame.
|
||||
clock_->AdvanceTimeMilliseconds(kMinDelayMs - clock_->TimeInMilliseconds() -
|
||||
key_frame_inserted);
|
||||
clock_.AdvanceTimeMilliseconds(kMinDelayMs - clock_.TimeInMilliseconds() -
|
||||
key_frame_inserted);
|
||||
EXPECT_TRUE(DecodeNextFrame());
|
||||
// Make sure we don't get a key frame request since the non-decodable duration
|
||||
// is only one frame.
|
||||
@ -217,7 +213,7 @@ TEST_F(TestVCMReceiver, NonDecodableDuration_KeyFrameAfterIncompleteFrames) {
|
||||
receiver_.SetNackSettings(kMaxNackListSize, kMaxPacketAgeToNack,
|
||||
kMaxNonDecodableDuration);
|
||||
timing_.set_min_playout_delay(kMinDelayMs);
|
||||
int64_t key_frame_inserted = clock_->TimeInMilliseconds();
|
||||
int64_t key_frame_inserted = clock_.TimeInMilliseconds();
|
||||
EXPECT_GE(InsertFrame(VideoFrameType::kVideoFrameKey, true), kNoError);
|
||||
// Insert an incomplete frame.
|
||||
EXPECT_GE(InsertFrame(VideoFrameType::kVideoFrameDelta, false), kNoError);
|
||||
@ -227,8 +223,8 @@ TEST_F(TestVCMReceiver, NonDecodableDuration_KeyFrameAfterIncompleteFrames) {
|
||||
}
|
||||
EXPECT_GE(InsertFrame(VideoFrameType::kVideoFrameKey, true), kNoError);
|
||||
// Advance time until it's time to decode the key frame.
|
||||
clock_->AdvanceTimeMilliseconds(kMinDelayMs - clock_->TimeInMilliseconds() -
|
||||
key_frame_inserted);
|
||||
clock_.AdvanceTimeMilliseconds(kMinDelayMs - clock_.TimeInMilliseconds() -
|
||||
key_frame_inserted);
|
||||
EXPECT_TRUE(DecodeNextFrame());
|
||||
// Make sure we don't get a key frame request since we have a key frame
|
||||
// in the list.
|
||||
@ -367,7 +363,6 @@ class FrameInjectEvent : public EventWrapper {
|
||||
class VCMReceiverTimingTest : public ::testing::Test {
|
||||
protected:
|
||||
VCMReceiverTimingTest()
|
||||
|
||||
: clock_(&stream_generator_, &receiver_),
|
||||
stream_generator_(0, clock_.TimeInMilliseconds()),
|
||||
timing_(&clock_),
|
||||
|
||||
@ -64,9 +64,7 @@ class SendStatisticsProxyTest : public ::testing::Test {
|
||||
explicit SendStatisticsProxyTest(const std::string& field_trials)
|
||||
: override_field_trials_(field_trials),
|
||||
fake_clock_(1234),
|
||||
config_(GetTestConfig()),
|
||||
avg_delay_ms_(0),
|
||||
max_delay_ms_(0) {}
|
||||
config_(GetTestConfig()) {}
|
||||
virtual ~SendStatisticsProxyTest() {}
|
||||
|
||||
protected:
|
||||
@ -173,11 +171,7 @@ class SendStatisticsProxyTest : public ::testing::Test {
|
||||
SimulatedClock fake_clock_;
|
||||
std::unique_ptr<SendStatisticsProxy> statistics_proxy_;
|
||||
VideoSendStream::Config config_;
|
||||
int avg_delay_ms_;
|
||||
int max_delay_ms_;
|
||||
VideoSendStream::Stats expected_;
|
||||
typedef std::map<uint32_t, VideoSendStream::StreamStats>::const_iterator
|
||||
StreamIterator;
|
||||
};
|
||||
|
||||
TEST_F(SendStatisticsProxyTest, RtcpStatistics) {
|
||||
@ -284,21 +278,17 @@ TEST_F(SendStatisticsProxyTest, DataCounters) {
|
||||
TEST_F(SendStatisticsProxyTest, Bitrate) {
|
||||
BitrateStatisticsObserver* observer = statistics_proxy_.get();
|
||||
for (const auto& ssrc : config_.rtp.ssrcs) {
|
||||
uint32_t total;
|
||||
uint32_t retransmit;
|
||||
// Use ssrc as bitrate_bps to get a unique value for each stream.
|
||||
total = ssrc;
|
||||
retransmit = ssrc + 1;
|
||||
uint32_t total = ssrc;
|
||||
uint32_t retransmit = ssrc + 1;
|
||||
observer->Notify(total, retransmit, ssrc);
|
||||
expected_.substreams[ssrc].total_bitrate_bps = total;
|
||||
expected_.substreams[ssrc].retransmit_bitrate_bps = retransmit;
|
||||
}
|
||||
for (const auto& ssrc : config_.rtp.rtx.ssrcs) {
|
||||
uint32_t total;
|
||||
uint32_t retransmit;
|
||||
// Use ssrc as bitrate_bps to get a unique value for each stream.
|
||||
total = ssrc;
|
||||
retransmit = ssrc + 1;
|
||||
uint32_t total = ssrc;
|
||||
uint32_t retransmit = ssrc + 1;
|
||||
observer->Notify(total, retransmit, ssrc);
|
||||
expected_.substreams[ssrc].total_bitrate_bps = total;
|
||||
expected_.substreams[ssrc].retransmit_bitrate_bps = retransmit;
|
||||
|
||||
@ -1982,7 +1982,6 @@ TEST_F(VideoSendStreamTest,
|
||||
public:
|
||||
EncoderObserver()
|
||||
: FakeEncoder(Clock::GetRealTimeClock()),
|
||||
number_of_initializations_(0),
|
||||
last_initialized_frame_width_(0),
|
||||
last_initialized_frame_height_(0) {}
|
||||
|
||||
@ -2009,7 +2008,6 @@ TEST_F(VideoSendStreamTest,
|
||||
MutexLock lock(&mutex_);
|
||||
last_initialized_frame_width_ = config->width;
|
||||
last_initialized_frame_height_ = config->height;
|
||||
++number_of_initializations_;
|
||||
init_encode_called_.Set();
|
||||
return FakeEncoder::InitEncode(config, settings);
|
||||
}
|
||||
@ -2023,7 +2021,6 @@ TEST_F(VideoSendStreamTest,
|
||||
|
||||
Mutex mutex_;
|
||||
rtc::Event init_encode_called_;
|
||||
size_t number_of_initializations_ RTC_GUARDED_BY(&mutex_);
|
||||
int last_initialized_frame_width_ RTC_GUARDED_BY(&mutex_);
|
||||
int last_initialized_frame_height_ RTC_GUARDED_BY(&mutex_);
|
||||
};
|
||||
|
||||
@ -519,11 +519,10 @@ class AdaptingFrameForwarder : public test::FrameForwarder {
|
||||
VideoFrame::Builder()
|
||||
.set_video_frame_buffer(new rtc::RefCountedObject<TestBuffer>(
|
||||
nullptr, out_width, out_height))
|
||||
.set_timestamp_rtp(99)
|
||||
.set_ntp_time_ms(video_frame.ntp_time_ms())
|
||||
.set_timestamp_ms(99)
|
||||
.set_rotation(kVideoRotation_0)
|
||||
.build();
|
||||
adapted_frame.set_ntp_time_ms(video_frame.ntp_time_ms());
|
||||
if (video_frame.has_update_rect()) {
|
||||
adapted_frame.set_update_rect(
|
||||
video_frame.update_rect().ScaleWithFrame(
|
||||
@ -724,91 +723,71 @@ class VideoStreamEncoderTest : public ::testing::Test {
|
||||
|
||||
VideoFrame CreateFrame(int64_t ntp_time_ms,
|
||||
rtc::Event* destruction_event) const {
|
||||
VideoFrame frame =
|
||||
VideoFrame::Builder()
|
||||
.set_video_frame_buffer(new rtc::RefCountedObject<TestBuffer>(
|
||||
destruction_event, codec_width_, codec_height_))
|
||||
.set_timestamp_rtp(99)
|
||||
.set_timestamp_ms(99)
|
||||
.set_rotation(kVideoRotation_0)
|
||||
.build();
|
||||
frame.set_ntp_time_ms(ntp_time_ms);
|
||||
return frame;
|
||||
return VideoFrame::Builder()
|
||||
.set_video_frame_buffer(new rtc::RefCountedObject<TestBuffer>(
|
||||
destruction_event, codec_width_, codec_height_))
|
||||
.set_ntp_time_ms(ntp_time_ms)
|
||||
.set_timestamp_ms(99)
|
||||
.set_rotation(kVideoRotation_0)
|
||||
.build();
|
||||
}
|
||||
|
||||
VideoFrame CreateFrameWithUpdatedPixel(int64_t ntp_time_ms,
|
||||
rtc::Event* destruction_event,
|
||||
int offset_x) const {
|
||||
VideoFrame frame =
|
||||
VideoFrame::Builder()
|
||||
.set_video_frame_buffer(new rtc::RefCountedObject<TestBuffer>(
|
||||
destruction_event, codec_width_, codec_height_))
|
||||
.set_timestamp_rtp(99)
|
||||
.set_timestamp_ms(99)
|
||||
.set_rotation(kVideoRotation_0)
|
||||
.set_update_rect(VideoFrame::UpdateRect{offset_x, 0, 1, 1})
|
||||
.build();
|
||||
frame.set_ntp_time_ms(ntp_time_ms);
|
||||
return frame;
|
||||
return VideoFrame::Builder()
|
||||
.set_video_frame_buffer(new rtc::RefCountedObject<TestBuffer>(
|
||||
destruction_event, codec_width_, codec_height_))
|
||||
.set_ntp_time_ms(ntp_time_ms)
|
||||
.set_timestamp_ms(99)
|
||||
.set_rotation(kVideoRotation_0)
|
||||
.set_update_rect(VideoFrame::UpdateRect{offset_x, 0, 1, 1})
|
||||
.build();
|
||||
}
|
||||
|
||||
VideoFrame CreateFrame(int64_t ntp_time_ms, int width, int height) const {
|
||||
VideoFrame frame =
|
||||
VideoFrame::Builder()
|
||||
.set_video_frame_buffer(
|
||||
new rtc::RefCountedObject<TestBuffer>(nullptr, width, height))
|
||||
.set_timestamp_rtp(99)
|
||||
.set_timestamp_ms(99)
|
||||
.set_rotation(kVideoRotation_0)
|
||||
.build();
|
||||
frame.set_ntp_time_ms(ntp_time_ms);
|
||||
frame.set_timestamp_us(ntp_time_ms * 1000);
|
||||
return frame;
|
||||
return VideoFrame::Builder()
|
||||
.set_video_frame_buffer(
|
||||
new rtc::RefCountedObject<TestBuffer>(nullptr, width, height))
|
||||
.set_ntp_time_ms(ntp_time_ms)
|
||||
.set_timestamp_ms(ntp_time_ms)
|
||||
.set_rotation(kVideoRotation_0)
|
||||
.build();
|
||||
}
|
||||
|
||||
VideoFrame CreateNV12Frame(int64_t ntp_time_ms, int width, int height) const {
|
||||
VideoFrame frame =
|
||||
VideoFrame::Builder()
|
||||
.set_video_frame_buffer(NV12Buffer::Create(width, height))
|
||||
.set_timestamp_rtp(99)
|
||||
.set_timestamp_ms(99)
|
||||
.set_rotation(kVideoRotation_0)
|
||||
.build();
|
||||
frame.set_ntp_time_ms(ntp_time_ms);
|
||||
frame.set_timestamp_us(ntp_time_ms * 1000);
|
||||
return frame;
|
||||
return VideoFrame::Builder()
|
||||
.set_video_frame_buffer(NV12Buffer::Create(width, height))
|
||||
.set_ntp_time_ms(ntp_time_ms)
|
||||
.set_timestamp_ms(ntp_time_ms)
|
||||
.set_rotation(kVideoRotation_0)
|
||||
.build();
|
||||
}
|
||||
|
||||
VideoFrame CreateFakeNativeFrame(int64_t ntp_time_ms,
|
||||
rtc::Event* destruction_event,
|
||||
int width,
|
||||
int height) const {
|
||||
VideoFrame frame =
|
||||
VideoFrame::Builder()
|
||||
.set_video_frame_buffer(new rtc::RefCountedObject<FakeNativeBuffer>(
|
||||
destruction_event, width, height))
|
||||
.set_timestamp_rtp(99)
|
||||
.set_timestamp_ms(99)
|
||||
.set_rotation(kVideoRotation_0)
|
||||
.build();
|
||||
frame.set_ntp_time_ms(ntp_time_ms);
|
||||
return frame;
|
||||
return VideoFrame::Builder()
|
||||
.set_video_frame_buffer(new rtc::RefCountedObject<FakeNativeBuffer>(
|
||||
destruction_event, width, height))
|
||||
.set_ntp_time_ms(ntp_time_ms)
|
||||
.set_timestamp_ms(99)
|
||||
.set_rotation(kVideoRotation_0)
|
||||
.build();
|
||||
}
|
||||
|
||||
VideoFrame CreateFakeNV12NativeFrame(int64_t ntp_time_ms,
|
||||
rtc::Event* destruction_event,
|
||||
int width,
|
||||
int height) const {
|
||||
VideoFrame frame = VideoFrame::Builder()
|
||||
.set_video_frame_buffer(
|
||||
new rtc::RefCountedObject<FakeNV12NativeBuffer>(
|
||||
destruction_event, width, height))
|
||||
.set_timestamp_rtp(99)
|
||||
.set_timestamp_ms(99)
|
||||
.set_rotation(kVideoRotation_0)
|
||||
.build();
|
||||
frame.set_ntp_time_ms(ntp_time_ms);
|
||||
return frame;
|
||||
return VideoFrame::Builder()
|
||||
.set_video_frame_buffer(new rtc::RefCountedObject<FakeNV12NativeBuffer>(
|
||||
destruction_event, width, height))
|
||||
.set_ntp_time_ms(ntp_time_ms)
|
||||
.set_timestamp_ms(99)
|
||||
.set_rotation(kVideoRotation_0)
|
||||
.build();
|
||||
}
|
||||
|
||||
VideoFrame CreateFakeNativeFrame(int64_t ntp_time_ms,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user