Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(96)

Unified Diff: webrtc/video/video_send_stream_tests.cc

Issue 1328113004: Work on flexible mode and screen sharing. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Changed interface for spatial layer encoding. Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 e30c903a517c44755678645bcb38f074854c69ce..d1c2bffcde18aaf3ff0b7058d75d987ef7afce89 100644
--- a/webrtc/video/video_send_stream_tests.cc
+++ b/webrtc/video/video_send_stream_tests.cc
@@ -1824,6 +1824,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;
@@ -1896,10 +1897,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
« webrtc/modules/video_coding/codecs/vp9/vp9_impl.h ('K') | « webrtc/video/video_send_stream.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698