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

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: Spatial layers when screensharing. Created 5 years, 3 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 c55809955723e50953d0adce8026c32050ea400c..6e60fff9542582d965079ca361c2dbb520f6bd66 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_TRUE(vp9videoHeader->picture_id != kNoPictureId);
sprang_webrtc 2015/09/15 15:41:22 EXPECT_NE(kNoPictureId, vp9videoHeader->picture_id
philipel 2015/09/16 09:35:54 Done.
+ 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

Powered by Google App Engine
This is Rietveld 408576698