diff --git a/modules/video_coding/receiver_unittest.cc b/modules/video_coding/receiver_unittest.cc index 2585056023..b2d5bc6f03 100644 --- a/modules/video_coding/receiver_unittest.cc +++ b/modules/video_coding/receiver_unittest.cc @@ -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 clock_; + SimulatedClock clock_; VCMTiming timing_; VCMReceiver receiver_; - std::unique_ptr 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 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_), diff --git a/video/send_statistics_proxy_unittest.cc b/video/send_statistics_proxy_unittest.cc index bce79a5c97..71b84c9443 100644 --- a/video/send_statistics_proxy_unittest.cc +++ b/video/send_statistics_proxy_unittest.cc @@ -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 statistics_proxy_; VideoSendStream::Config config_; - int avg_delay_ms_; - int max_delay_ms_; VideoSendStream::Stats expected_; - typedef std::map::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; diff --git a/video/video_send_stream_tests.cc b/video/video_send_stream_tests.cc index 1c0a4ba239..47bcaab1a2 100644 --- a/video/video_send_stream_tests.cc +++ b/video/video_send_stream_tests.cc @@ -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_); }; diff --git a/video/video_stream_encoder_unittest.cc b/video/video_stream_encoder_unittest.cc index ebc1c29228..7ff3d4dca1 100644 --- a/video/video_stream_encoder_unittest.cc +++ b/video/video_stream_encoder_unittest.cc @@ -519,11 +519,10 @@ class AdaptingFrameForwarder : public test::FrameForwarder { VideoFrame::Builder() .set_video_frame_buffer(new rtc::RefCountedObject( 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( - 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( + 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( - 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( + 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(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(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( - 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( + 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( - 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( + 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,