Index: webrtc/video/video_send_stream_tests.cc |
diff --git a/webrtc/video/video_send_stream_tests.cc b/webrtc/video/video_send_stream_tests.cc |
index 65fbd780a6fc57c9f667cb924b4a238a2f98c9a3..5d95218504a5d8d9f90ebbe619e62c64ae8ac2d2 100644 |
--- a/webrtc/video/video_send_stream_tests.cc |
+++ b/webrtc/video/video_send_stream_tests.cc |
@@ -1889,10 +1889,70 @@ TEST_F(VideoSendStreamTest, VP9FlexMode) { |
EXPECT_TRUE(vp9videoHeader->flexible_mode); |
observation_complete_->Set(); |
} |
+ } test; |
+ |
+ RunBaseTest(&test); |
+} |
+ |
+TEST_F(VideoSendStreamTest, VP9FlexModeHasPictureId) { |
+ class FlexibleMode : public VP9HeaderObeserver { |
+ void ModifyConfigsHook( |
+ VideoSendStream::Config* send_config, |
+ std::vector<VideoReceiveStream::Config>* receive_configs, |
+ VideoEncoderConfig* encoder_config) override { |
+ vp9_settings_.flexibleMode = true; |
+ } |
+ |
+ void InspectHeader(RTPVideoHeaderVP9* vp9videoHeader) override { |
+ EXPECT_TRUE(vp9videoHeader->picture_id != kNoPictureId); |
+ observation_complete_->Set(); |
+ } |
+ } test; |
+ |
+ RunBaseTest(&test); |
+} |
+ |
+TEST_F(VideoSendStreamTest, VP9FlexModeRefCount) { |
+ class FlexibleMode : public VP9HeaderObeserver { |
+ void ModifyConfigsHook( |
+ VideoSendStream::Config* send_config, |
+ std::vector<VideoReceiveStream::Config>* receive_configs, |
+ VideoEncoderConfig* encoder_config) override { |
+ vp9_settings_.flexibleMode = true; |
+ } |
+ |
+ void InspectHeader(RTPVideoHeaderVP9* vp9videoHeader) override { |
+ EXPECT_TRUE(vp9videoHeader->flexible_mode); |
+ if (vp9videoHeader->inter_pic_predicted) { |
+ EXPECT_GT(vp9videoHeader->num_ref_pics, 0u); |
+ observation_complete_->Set(); |
+ } |
+ } |
+ } test; |
+ |
+ RunBaseTest(&test); |
+} |
+ |
+TEST_F(VideoSendStreamTest, VP9FlexModeRefs) { |
+ class FlexibleMode : public VP9HeaderObeserver { |
+ void ModifyConfigsHook( |
+ VideoSendStream::Config* send_config, |
+ std::vector<VideoReceiveStream::Config>* receive_configs, |
+ VideoEncoderConfig* encoder_config) override { |
+ vp9_settings_.flexibleMode = true; |
+ } |
+ |
+ void InspectHeader(RTPVideoHeaderVP9* vp9videoHeader) override { |
+ EXPECT_TRUE(vp9videoHeader->flexible_mode); |
+ if (vp9videoHeader->inter_pic_predicted) { |
+ EXPECT_GT(vp9videoHeader->num_ref_pics, 0u); |
+ observation_complete_->Set(); |
+ } |
+ } |
} test; |
RunBaseTest(&test); |
} |
-} // namespace webrtc |
+} // namespace webrtc |