Delete all stats-related logic from VCMJitterBuffer.
Bug: webrtc:7408 Change-Id: I0347746f8c6cd2d8fb4b2daa61d4e3ef8f550b77 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/129930 Commit-Queue: Niels Moller <nisse@webrtc.org> Reviewed-by: Philip Eliasson <philipel@webrtc.org> Reviewed-by: Åsa Persson <asapersson@webrtc.org> Cr-Commit-Position: refs/heads/master@{#27338}
This commit is contained in:
@ -452,43 +452,6 @@ TEST_F(TestBasicJitterBuffer, SinglePacketFrame) {
|
||||
jitter_buffer_->ReleaseFrame(frame_out);
|
||||
}
|
||||
|
||||
TEST_F(TestBasicJitterBuffer, VerifyHistogramStats) {
|
||||
metrics::Reset();
|
||||
// Always start with a complete key frame when not allowing errors.
|
||||
packet_->frameType = VideoFrameType::kVideoFrameKey;
|
||||
packet_->video_header.is_first_packet_in_frame = true;
|
||||
packet_->markerBit = true;
|
||||
packet_->timestamp += 123 * 90;
|
||||
|
||||
// Insert single packet frame to the jitter buffer and get a frame.
|
||||
bool retransmitted = false;
|
||||
EXPECT_EQ(kCompleteSession,
|
||||
jitter_buffer_->InsertPacket(*packet_, &retransmitted));
|
||||
VCMEncodedFrame* frame_out = DecodeCompleteFrame();
|
||||
CheckOutFrame(frame_out, size_, false);
|
||||
EXPECT_EQ(VideoFrameType::kVideoFrameKey, frame_out->FrameType());
|
||||
jitter_buffer_->ReleaseFrame(frame_out);
|
||||
|
||||
// Verify that histograms are updated when the jitter buffer is stopped.
|
||||
clock_->AdvanceTimeMilliseconds(metrics::kMinRunTimeInSeconds * 1000);
|
||||
jitter_buffer_->Stop();
|
||||
EXPECT_EQ(1, metrics::NumEvents("WebRTC.Video.DiscardedPacketsInPercent", 0));
|
||||
EXPECT_EQ(1,
|
||||
metrics::NumEvents("WebRTC.Video.DuplicatedPacketsInPercent", 0));
|
||||
EXPECT_EQ(
|
||||
1, metrics::NumSamples("WebRTC.Video.CompleteFramesReceivedPerSecond"));
|
||||
EXPECT_EQ(
|
||||
1, metrics::NumEvents("WebRTC.Video.KeyFramesReceivedInPermille", 1000));
|
||||
|
||||
// Verify that histograms are not updated if stop is called again.
|
||||
jitter_buffer_->Stop();
|
||||
EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.DiscardedPacketsInPercent"));
|
||||
EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.DuplicatedPacketsInPercent"));
|
||||
EXPECT_EQ(
|
||||
1, metrics::NumSamples("WebRTC.Video.CompleteFramesReceivedPerSecond"));
|
||||
EXPECT_EQ(1, metrics::NumSamples("WebRTC.Video.KeyFramesReceivedInPermille"));
|
||||
}
|
||||
|
||||
TEST_F(TestBasicJitterBuffer, DualPacketFrame) {
|
||||
packet_->frameType = VideoFrameType::kVideoFrameKey;
|
||||
packet_->video_header.is_first_packet_in_frame = true;
|
||||
@ -1711,52 +1674,6 @@ TEST_F(TestRunningJitterBuffer, EmptyPackets) {
|
||||
EXPECT_FALSE(request_key_frame);
|
||||
}
|
||||
|
||||
TEST_F(TestRunningJitterBuffer, StatisticsTest) {
|
||||
FrameCounts frame_stats(jitter_buffer_->FrameStatistics());
|
||||
EXPECT_EQ(0, frame_stats.delta_frames);
|
||||
EXPECT_EQ(0, frame_stats.key_frames);
|
||||
|
||||
uint32_t framerate = 0;
|
||||
uint32_t bitrate = 0;
|
||||
jitter_buffer_->IncomingRateStatistics(&framerate, &bitrate);
|
||||
EXPECT_EQ(0u, framerate);
|
||||
EXPECT_EQ(0u, bitrate);
|
||||
|
||||
// Insert a couple of key and delta frames.
|
||||
InsertFrame(VideoFrameType::kVideoFrameKey);
|
||||
InsertFrame(VideoFrameType::kVideoFrameDelta);
|
||||
InsertFrame(VideoFrameType::kVideoFrameDelta);
|
||||
InsertFrame(VideoFrameType::kVideoFrameKey);
|
||||
InsertFrame(VideoFrameType::kVideoFrameDelta);
|
||||
// Decode some of them to make sure the statistics doesn't depend on frames
|
||||
// being decoded.
|
||||
EXPECT_TRUE(DecodeCompleteFrame());
|
||||
EXPECT_TRUE(DecodeCompleteFrame());
|
||||
frame_stats = jitter_buffer_->FrameStatistics();
|
||||
EXPECT_EQ(3, frame_stats.delta_frames);
|
||||
EXPECT_EQ(2, frame_stats.key_frames);
|
||||
|
||||
// Insert 20 more frames to get estimates of bitrate and framerate over
|
||||
// 1 second.
|
||||
for (int i = 0; i < 20; ++i) {
|
||||
InsertFrame(VideoFrameType::kVideoFrameDelta);
|
||||
}
|
||||
jitter_buffer_->IncomingRateStatistics(&framerate, &bitrate);
|
||||
// TODO(holmer): The current implementation returns the average of the last
|
||||
// two framerate calculations, which is why it takes two calls to reach the
|
||||
// actual framerate. This should be fixed.
|
||||
EXPECT_EQ(kDefaultFrameRate / 2u, framerate);
|
||||
EXPECT_EQ(kDefaultBitrateKbps, bitrate);
|
||||
// Insert 25 more frames to get estimates of bitrate and framerate over
|
||||
// 2 seconds.
|
||||
for (int i = 0; i < 25; ++i) {
|
||||
InsertFrame(VideoFrameType::kVideoFrameDelta);
|
||||
}
|
||||
jitter_buffer_->IncomingRateStatistics(&framerate, &bitrate);
|
||||
EXPECT_EQ(kDefaultFrameRate, framerate);
|
||||
EXPECT_EQ(kDefaultBitrateKbps, bitrate);
|
||||
}
|
||||
|
||||
TEST_F(TestRunningJitterBuffer, SkipToKeyFrame) {
|
||||
// Insert delta frames.
|
||||
EXPECT_GE(InsertFrames(5, VideoFrameType::kVideoFrameDelta), kNoError);
|
||||
|
Reference in New Issue
Block a user