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

Side by Side Diff: webrtc/modules/video_coding/codecs/vp8/simulcast_encoder_adapter_unittest.cc

Issue 2772033002: Add content type information to encoded images and corresponding rtp extension header (Closed)
Patch Set: Set EncodedImage content_type from vie_encoder Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after
524 codec_.startBitrate = 3000; 524 codec_.startBitrate = 3000;
525 EXPECT_EQ(0, adapter_->InitEncode(&codec_, 1, 1200)); 525 EXPECT_EQ(0, adapter_->InitEncode(&codec_, 1, 1200));
526 adapter_->RegisterEncodeCompleteCallback(this); 526 adapter_->RegisterEncodeCompleteCallback(this);
527 ASSERT_EQ(3u, helper_->factory()->encoders().size()); 527 ASSERT_EQ(3u, helper_->factory()->encoders().size());
528 for (MockVideoEncoder* encoder : helper_->factory()->encoders()) 528 for (MockVideoEncoder* encoder : helper_->factory()->encoders())
529 encoder->set_supports_native_handle(true); 529 encoder->set_supports_native_handle(true);
530 EXPECT_TRUE(adapter_->SupportsNativeHandle()); 530 EXPECT_TRUE(adapter_->SupportsNativeHandle());
531 531
532 rtc::scoped_refptr<VideoFrameBuffer> buffer( 532 rtc::scoped_refptr<VideoFrameBuffer> buffer(
533 new rtc::RefCountedObject<FakeNativeHandleBuffer>(this, 1280, 720)); 533 new rtc::RefCountedObject<FakeNativeHandleBuffer>(this, 1280, 720));
534 VideoFrame input_frame(buffer, 100, 1000, kVideoRotation_180); 534 VideoFrame input_frame(buffer, 100, 1000, kVideoRotation_180,
535 webrtc::kVideoContent_Default);
535 // Expect calls with the given video frame verbatim, since it's a texture 536 // Expect calls with the given video frame verbatim, since it's a texture
536 // frame and can't otherwise be modified/resized. 537 // frame and can't otherwise be modified/resized.
537 for (MockVideoEncoder* encoder : helper_->factory()->encoders()) 538 for (MockVideoEncoder* encoder : helper_->factory()->encoders())
538 EXPECT_CALL(*encoder, Encode(::testing::Ref(input_frame), _, _)).Times(1); 539 EXPECT_CALL(*encoder, Encode(::testing::Ref(input_frame), _, _)).Times(1);
539 std::vector<FrameType> frame_types(3, kVideoFrameKey); 540 std::vector<FrameType> frame_types(3, kVideoFrameKey);
540 EXPECT_EQ(0, adapter_->Encode(input_frame, NULL, &frame_types)); 541 EXPECT_EQ(0, adapter_->Encode(input_frame, NULL, &frame_types));
541 } 542 }
542 543
543 TEST_F(TestSimulcastEncoderAdapterFake, TestFailureReturnCodesFromEncodeCalls) { 544 TEST_F(TestSimulcastEncoderAdapterFake, TestFailureReturnCodesFromEncodeCalls) {
544 TestVp8Simulcast::DefaultSettings( 545 TestVp8Simulcast::DefaultSettings(
545 &codec_, static_cast<const int*>(kTestTemporalLayerProfile)); 546 &codec_, static_cast<const int*>(kTestTemporalLayerProfile));
546 codec_.VP8()->tl_factory = &tl_factory_; 547 codec_.VP8()->tl_factory = &tl_factory_;
547 codec_.numberOfSimulcastStreams = 3; 548 codec_.numberOfSimulcastStreams = 3;
548 EXPECT_EQ(0, adapter_->InitEncode(&codec_, 1, 1200)); 549 EXPECT_EQ(0, adapter_->InitEncode(&codec_, 1, 1200));
549 adapter_->RegisterEncodeCompleteCallback(this); 550 adapter_->RegisterEncodeCompleteCallback(this);
550 ASSERT_EQ(3u, helper_->factory()->encoders().size()); 551 ASSERT_EQ(3u, helper_->factory()->encoders().size());
551 // Tell the 2nd encoder to request software fallback. 552 // Tell the 2nd encoder to request software fallback.
552 EXPECT_CALL(*helper_->factory()->encoders()[1], Encode(_, _, _)) 553 EXPECT_CALL(*helper_->factory()->encoders()[1], Encode(_, _, _))
553 .WillOnce(Return(WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE)); 554 .WillOnce(Return(WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE));
554 555
555 // Send a fake frame and assert the return is software fallback. 556 // Send a fake frame and assert the return is software fallback.
556 int half_width = (kDefaultWidth + 1) / 2; 557 int half_width = (kDefaultWidth + 1) / 2;
557 rtc::scoped_refptr<I420Buffer> input_buffer = I420Buffer::Create( 558 rtc::scoped_refptr<I420Buffer> input_buffer = I420Buffer::Create(
558 kDefaultWidth, kDefaultHeight, kDefaultWidth, half_width, half_width); 559 kDefaultWidth, kDefaultHeight, kDefaultWidth, half_width, half_width);
559 input_buffer->InitializeData(); 560 input_buffer->InitializeData();
560 VideoFrame input_frame(input_buffer, 0, 0, webrtc::kVideoRotation_0); 561 VideoFrame input_frame(input_buffer, 0, 0, webrtc::kVideoRotation_0,
562 webrtc::kVideoContent_Default);
561 std::vector<FrameType> frame_types(3, kVideoFrameKey); 563 std::vector<FrameType> frame_types(3, kVideoFrameKey);
562 EXPECT_EQ(WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE, 564 EXPECT_EQ(WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE,
563 adapter_->Encode(input_frame, nullptr, &frame_types)); 565 adapter_->Encode(input_frame, nullptr, &frame_types));
564 } 566 }
565 567
566 TEST_F(TestSimulcastEncoderAdapterFake, TestInitFailureCleansUpEncoders) { 568 TEST_F(TestSimulcastEncoderAdapterFake, TestInitFailureCleansUpEncoders) {
567 TestVp8Simulcast::DefaultSettings( 569 TestVp8Simulcast::DefaultSettings(
568 &codec_, static_cast<const int*>(kTestTemporalLayerProfile)); 570 &codec_, static_cast<const int*>(kTestTemporalLayerProfile));
569 codec_.VP8()->tl_factory = &tl_factory_; 571 codec_.VP8()->tl_factory = &tl_factory_;
570 codec_.numberOfSimulcastStreams = 3; 572 codec_.numberOfSimulcastStreams = 3;
571 helper_->factory()->set_init_encode_return_value( 573 helper_->factory()->set_init_encode_return_value(
572 WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE); 574 WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE);
573 EXPECT_EQ(WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE, 575 EXPECT_EQ(WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE,
574 adapter_->InitEncode(&codec_, 1, 1200)); 576 adapter_->InitEncode(&codec_, 1, 1200));
575 EXPECT_TRUE(helper_->factory()->encoders().empty()); 577 EXPECT_TRUE(helper_->factory()->encoders().empty());
576 } 578 }
577 579
578 } // namespace testing 580 } // namespace testing
579 } // namespace webrtc 581 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698