Index: webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc |
diff --git a/webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc b/webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc |
index 1849326e52c1d341e4c292f78e94d346eb049faa..a88f75e36805e2b792609aff0993634d59ac4867 100644 |
--- a/webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc |
+++ b/webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc |
@@ -280,6 +280,31 @@ TEST_F(VideoProcessorIntegrationTest, Process10PercentPacketLoss) { |
rc_thresholds, nullptr /* visualization_params */); |
} |
+// This test is identical to VideoProcessorIntegrationTest.ProcessZeroPacketLoss |
+// except that |batch_mode| is turned on. The main point of this test is to see |
+// that the reported stats are not wildly varying between batch mode and the |
+// regular online mode. |
+TEST_F(VideoProcessorIntegrationTest, ProcessInBatchMode) { |
+ // Bit rate and frame rate profile. |
+ RateProfile rate_profile; |
+ SetRateProfile(&rate_profile, 0, 500, 30, 0); |
+ rate_profile.frame_index_rate_update[1] = kNumFramesShort + 1; |
+ rate_profile.num_frames = kNumFramesShort; |
+ // Codec/network settings. |
+ CodecParams process_settings; |
+ SetCodecParams(&process_settings, kVideoCodecVP8, kHwCodec, kUseSingleCore, |
+ 0.0f, -1, 1, false, true, true, false, 352, 288, "foreman_cif", |
+ false /* verbose_logging */, true /* batch_mode */); |
+ // Thresholds for expected quality. |
+ QualityThresholds quality_thresholds; |
+ SetQualityThresholds(&quality_thresholds, 34.95, 33.0, 0.90, 0.89); |
+ // Thresholds for rate control. |
+ RateControlThresholds rc_thresholds[1]; |
+ SetRateControlThresholds(rc_thresholds, 0, 0, 40, 20, 10, 15, 0, 1); |
+ ProcessFramesAndVerify(quality_thresholds, rate_profile, process_settings, |
+ rc_thresholds, nullptr /* visualization_params */); |
+} |
+ |
#endif // !defined(WEBRTC_IOS) |
// The tests below are currently disabled for Android. For ARM, the encoder |