Use 0 as a default value for freeze_time_ms.
Bug: b/264376586 Change-Id: I694ad6cf1105dc335967a3bdb99c0bf52f08b7d1 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/290561 Reviewed-by: Artem Titov <titovartem@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/main@{#39000}
This commit is contained in:
parent
17043b89ae
commit
5dbd1ed1b5
@ -234,6 +234,15 @@ void DefaultVideoQualityAnalyzerFramesComparator::Stop(
|
||||
last_rendered_frame_time - stream_last_freeze_end_time_.at(stats_key),
|
||||
Now(), /*metadata=*/{}));
|
||||
}
|
||||
|
||||
// Freeze Time:
|
||||
// If there were no freezes on a video stream, add only one sample with
|
||||
// value 0 (0ms freezes time).
|
||||
for (auto& [key, stream_stats] : stream_stats_) {
|
||||
if (stream_stats.freeze_time_ms.IsEmpty()) {
|
||||
stream_stats.freeze_time_ms.AddSample(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -27,6 +27,7 @@ namespace webrtc {
|
||||
namespace {
|
||||
|
||||
using ::testing::Contains;
|
||||
using ::testing::Each;
|
||||
using ::testing::Eq;
|
||||
using ::testing::IsEmpty;
|
||||
using ::testing::Pair;
|
||||
@ -150,6 +151,13 @@ void expectEmpty(const SamplesRateCounter& counter) {
|
||||
<< counter.GetEventsPerSecond();
|
||||
}
|
||||
|
||||
void ExpectSizeAndAllElementsAre(const SamplesStatsCounter& counter,
|
||||
int size,
|
||||
double value) {
|
||||
EXPECT_EQ(counter.NumSamples(), size);
|
||||
EXPECT_THAT(counter.GetSamples(), Each(Eq(value)));
|
||||
}
|
||||
|
||||
TEST(DefaultVideoQualityAnalyzerFramesComparatorTest,
|
||||
StatsPresentedAfterAddingOneComparison) {
|
||||
DefaultVideoQualityAnalyzerCpuMeasurer cpu_measurer;
|
||||
@ -383,7 +391,7 @@ TEST(DefaultVideoQualityAnalyzerFramesComparatorTest,
|
||||
expectEmpty(stats.decode_time_ms);
|
||||
expectEmpty(stats.receive_to_render_time_ms);
|
||||
expectEmpty(stats.skipped_between_rendered);
|
||||
expectEmpty(stats.freeze_time_ms);
|
||||
ExpectSizeAndAllElementsAre(stats.freeze_time_ms, /*size=*/1, /*value=*/0);
|
||||
expectEmpty(stats.time_between_freezes_ms);
|
||||
expectEmpty(stats.resolution_of_decoded_frame);
|
||||
expectEmpty(stats.target_encode_bitrate);
|
||||
@ -443,7 +451,7 @@ TEST(DefaultVideoQualityAnalyzerFramesComparatorTest,
|
||||
expectEmpty(stats.decode_time_ms);
|
||||
expectEmpty(stats.receive_to_render_time_ms);
|
||||
expectEmpty(stats.skipped_between_rendered);
|
||||
expectEmpty(stats.freeze_time_ms);
|
||||
ExpectSizeAndAllElementsAre(stats.freeze_time_ms, /*size=*/1, /*value=*/0);
|
||||
expectEmpty(stats.time_between_freezes_ms);
|
||||
expectEmpty(stats.resolution_of_decoded_frame);
|
||||
expectEmpty(stats.target_encode_bitrate);
|
||||
@ -513,7 +521,7 @@ TEST(DefaultVideoQualityAnalyzerFramesComparatorTest,
|
||||
expectEmpty(stats.decode_time_ms);
|
||||
expectEmpty(stats.receive_to_render_time_ms);
|
||||
expectEmpty(stats.skipped_between_rendered);
|
||||
expectEmpty(stats.freeze_time_ms);
|
||||
ExpectSizeAndAllElementsAre(stats.freeze_time_ms, /*size=*/1, /*value=*/0);
|
||||
expectEmpty(stats.time_between_freezes_ms);
|
||||
expectEmpty(stats.resolution_of_decoded_frame);
|
||||
EXPECT_DOUBLE_EQ(GetFirstOrDie(stats.target_encode_bitrate), 2000.0);
|
||||
@ -584,7 +592,7 @@ TEST(DefaultVideoQualityAnalyzerFramesComparatorTest,
|
||||
expectEmpty(stats.decode_time_ms);
|
||||
expectEmpty(stats.receive_to_render_time_ms);
|
||||
expectEmpty(stats.skipped_between_rendered);
|
||||
expectEmpty(stats.freeze_time_ms);
|
||||
ExpectSizeAndAllElementsAre(stats.freeze_time_ms, /*size=*/1, /*value=*/0);
|
||||
expectEmpty(stats.time_between_freezes_ms);
|
||||
expectEmpty(stats.resolution_of_decoded_frame);
|
||||
EXPECT_DOUBLE_EQ(GetFirstOrDie(stats.target_encode_bitrate), 2000.0);
|
||||
@ -660,7 +668,7 @@ TEST(DefaultVideoQualityAnalyzerFramesComparatorTest,
|
||||
expectEmpty(stats.decode_time_ms);
|
||||
expectEmpty(stats.receive_to_render_time_ms);
|
||||
expectEmpty(stats.skipped_between_rendered);
|
||||
expectEmpty(stats.freeze_time_ms);
|
||||
ExpectSizeAndAllElementsAre(stats.freeze_time_ms, /*size=*/1, /*value=*/0);
|
||||
expectEmpty(stats.time_between_freezes_ms);
|
||||
expectEmpty(stats.resolution_of_decoded_frame);
|
||||
EXPECT_DOUBLE_EQ(GetFirstOrDie(stats.target_encode_bitrate), 2000.0);
|
||||
@ -743,7 +751,7 @@ TEST(DefaultVideoQualityAnalyzerFramesComparatorTest,
|
||||
EXPECT_DOUBLE_EQ(GetFirstOrDie(stats.decode_time_ms), 10.0);
|
||||
expectEmpty(stats.receive_to_render_time_ms);
|
||||
expectEmpty(stats.skipped_between_rendered);
|
||||
expectEmpty(stats.freeze_time_ms);
|
||||
ExpectSizeAndAllElementsAre(stats.freeze_time_ms, /*size=*/1, /*value=*/0);
|
||||
expectEmpty(stats.time_between_freezes_ms);
|
||||
EXPECT_GE(GetFirstOrDie(stats.resolution_of_decoded_frame), 200 * 100.0);
|
||||
EXPECT_DOUBLE_EQ(GetFirstOrDie(stats.target_encode_bitrate), 2000.0);
|
||||
@ -824,7 +832,7 @@ TEST(DefaultVideoQualityAnalyzerFramesComparatorTest,
|
||||
expectEmpty(stats.decode_time_ms);
|
||||
expectEmpty(stats.receive_to_render_time_ms);
|
||||
expectEmpty(stats.skipped_between_rendered);
|
||||
expectEmpty(stats.freeze_time_ms);
|
||||
ExpectSizeAndAllElementsAre(stats.freeze_time_ms, /*size=*/1, /*value=*/0);
|
||||
expectEmpty(stats.time_between_freezes_ms);
|
||||
expectEmpty(stats.resolution_of_decoded_frame);
|
||||
EXPECT_DOUBLE_EQ(GetFirstOrDie(stats.target_encode_bitrate), 2000.0);
|
||||
@ -887,7 +895,7 @@ TEST(DefaultVideoQualityAnalyzerFramesComparatorTest,
|
||||
expectEmpty(stats.decode_time_ms);
|
||||
expectEmpty(stats.receive_to_render_time_ms);
|
||||
expectEmpty(stats.skipped_between_rendered);
|
||||
expectEmpty(stats.freeze_time_ms);
|
||||
ExpectSizeAndAllElementsAre(stats.freeze_time_ms, /*size=*/1, /*value=*/0);
|
||||
expectEmpty(stats.time_between_freezes_ms);
|
||||
expectEmpty(stats.resolution_of_decoded_frame);
|
||||
expectEmpty(stats.target_encode_bitrate);
|
||||
@ -947,7 +955,7 @@ TEST(DefaultVideoQualityAnalyzerFramesComparatorTest,
|
||||
expectEmpty(stats.decode_time_ms);
|
||||
expectEmpty(stats.receive_to_render_time_ms);
|
||||
expectEmpty(stats.skipped_between_rendered);
|
||||
expectEmpty(stats.freeze_time_ms);
|
||||
ExpectSizeAndAllElementsAre(stats.freeze_time_ms, /*size=*/1, /*value=*/0);
|
||||
expectEmpty(stats.time_between_freezes_ms);
|
||||
expectEmpty(stats.resolution_of_decoded_frame);
|
||||
expectEmpty(stats.target_encode_bitrate);
|
||||
@ -1017,7 +1025,7 @@ TEST(DefaultVideoQualityAnalyzerFramesComparatorTest,
|
||||
expectEmpty(stats.decode_time_ms);
|
||||
expectEmpty(stats.receive_to_render_time_ms);
|
||||
expectEmpty(stats.skipped_between_rendered);
|
||||
expectEmpty(stats.freeze_time_ms);
|
||||
ExpectSizeAndAllElementsAre(stats.freeze_time_ms, /*size=*/1, /*value=*/0);
|
||||
expectEmpty(stats.time_between_freezes_ms);
|
||||
expectEmpty(stats.resolution_of_decoded_frame);
|
||||
EXPECT_DOUBLE_EQ(GetFirstOrDie(stats.target_encode_bitrate), 2000.0);
|
||||
@ -1088,7 +1096,7 @@ TEST(DefaultVideoQualityAnalyzerFramesComparatorTest,
|
||||
expectEmpty(stats.decode_time_ms);
|
||||
expectEmpty(stats.receive_to_render_time_ms);
|
||||
expectEmpty(stats.skipped_between_rendered);
|
||||
expectEmpty(stats.freeze_time_ms);
|
||||
ExpectSizeAndAllElementsAre(stats.freeze_time_ms, /*size=*/1, /*value=*/0);
|
||||
expectEmpty(stats.time_between_freezes_ms);
|
||||
expectEmpty(stats.resolution_of_decoded_frame);
|
||||
EXPECT_DOUBLE_EQ(GetFirstOrDie(stats.target_encode_bitrate), 2000.0);
|
||||
@ -1162,7 +1170,7 @@ TEST(DefaultVideoQualityAnalyzerFramesComparatorTest,
|
||||
expectEmpty(stats.decode_time_ms);
|
||||
expectEmpty(stats.receive_to_render_time_ms);
|
||||
expectEmpty(stats.skipped_between_rendered);
|
||||
expectEmpty(stats.freeze_time_ms);
|
||||
ExpectSizeAndAllElementsAre(stats.freeze_time_ms, /*size=*/1, /*value=*/0);
|
||||
expectEmpty(stats.time_between_freezes_ms);
|
||||
expectEmpty(stats.resolution_of_decoded_frame);
|
||||
EXPECT_DOUBLE_EQ(GetFirstOrDie(stats.target_encode_bitrate), 2000.0);
|
||||
@ -1246,7 +1254,7 @@ TEST(DefaultVideoQualityAnalyzerFramesComparatorTest,
|
||||
expectEmpty(stats.decode_time_ms);
|
||||
expectEmpty(stats.receive_to_render_time_ms);
|
||||
expectEmpty(stats.skipped_between_rendered);
|
||||
expectEmpty(stats.freeze_time_ms);
|
||||
ExpectSizeAndAllElementsAre(stats.freeze_time_ms, /*size=*/1, /*value=*/0);
|
||||
expectEmpty(stats.time_between_freezes_ms);
|
||||
expectEmpty(stats.resolution_of_decoded_frame);
|
||||
EXPECT_DOUBLE_EQ(GetFirstOrDie(stats.target_encode_bitrate), 2000.0);
|
||||
@ -1327,7 +1335,7 @@ TEST(DefaultVideoQualityAnalyzerFramesComparatorTest,
|
||||
expectEmpty(stats.decode_time_ms);
|
||||
expectEmpty(stats.receive_to_render_time_ms);
|
||||
expectEmpty(stats.skipped_between_rendered);
|
||||
expectEmpty(stats.freeze_time_ms);
|
||||
ExpectSizeAndAllElementsAre(stats.freeze_time_ms, /*size=*/1, /*value=*/0);
|
||||
expectEmpty(stats.time_between_freezes_ms);
|
||||
expectEmpty(stats.resolution_of_decoded_frame);
|
||||
EXPECT_DOUBLE_EQ(GetFirstOrDie(stats.target_encode_bitrate), 2000.0);
|
||||
@ -1416,7 +1424,7 @@ TEST(DefaultVideoQualityAnalyzerFramesComparatorTest,
|
||||
EXPECT_GE(GetFirstOrDie(stats.decode_time_ms), 10.0);
|
||||
EXPECT_GE(GetFirstOrDie(stats.receive_to_render_time_ms), 30.0);
|
||||
expectEmpty(stats.skipped_between_rendered);
|
||||
expectEmpty(stats.freeze_time_ms);
|
||||
ExpectSizeAndAllElementsAre(stats.freeze_time_ms, /*size=*/1, /*value=*/0);
|
||||
expectEmpty(stats.time_between_freezes_ms);
|
||||
EXPECT_GE(GetFirstOrDie(stats.resolution_of_decoded_frame), 200 * 100.0);
|
||||
EXPECT_DOUBLE_EQ(GetFirstOrDie(stats.target_encode_bitrate), 2000.0);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user