| 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 c55809955723e50953d0adce8026c32050ea400c..163619b1e0cd3bcc136cf5546ad1c5ab46e6fecb 100644
|
| --- a/webrtc/video/video_send_stream_tests.cc
|
| +++ b/webrtc/video/video_send_stream_tests.cc
|
| @@ -1821,6 +1821,7 @@ class VP9HeaderObeserver : public test::SendTest {
|
| std::vector<VideoReceiveStream::Config>* receive_configs,
|
| VideoEncoderConfig* encoder_config) override {
|
| encoder_config->encoder_specific_settings = &vp9_settings_;
|
| + encoder_config->content_type = VideoEncoderConfig::ContentType::kScreen;
|
| send_config->encoder_settings.encoder = vp9_encoder_.get();
|
| send_config->encoder_settings.payload_name = "VP9";
|
| send_config->encoder_settings.payload_type = kVp9PayloadType;
|
| @@ -1891,10 +1892,70 @@ TEST_F(VideoSendStreamTest, DISABLED_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_NE(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
|
|
|