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 2cd542a3020aa0d15f2868fcbe7e34bbaa68fb31..3ecbd1510ec9a6cd183df8a5ca2b81d032018125 100644 |
--- a/webrtc/video/video_send_stream_tests.cc |
+++ b/webrtc/video/video_send_stream_tests.cc |
@@ -291,6 +291,46 @@ TEST_F(VideoSendStreamTest, SupportsVideoRotation) { |
RunBaseTest(&test); |
} |
+TEST_F(VideoSendStreamTest, SupportsVideoContentType) { |
+ class VideoRotationObserver : public test::SendTest { |
+ public: |
+ VideoRotationObserver() : SendTest(kDefaultTimeoutMs) { |
+ EXPECT_TRUE(parser_->RegisterRtpHeaderExtension( |
+ kRtpExtensionVideoContentType, test::kVideoContentTypeExtensionId)); |
+ } |
+ |
+ Action OnSendRtp(const uint8_t* packet, size_t length) override { |
+ RTPHeader header; |
+ EXPECT_TRUE(parser_->Parse(packet, length, &header)); |
+ EXPECT_TRUE(header.extension.hasVideoContentType); |
+ EXPECT_EQ(kVideoContent_Screenshare, header.extension.videoContentType); |
+ observation_complete_.Set(); |
+ return SEND_PACKET; |
+ } |
+ |
+ void ModifyVideoConfigs( |
+ VideoSendStream::Config* send_config, |
+ std::vector<VideoReceiveStream::Config>* receive_configs, |
+ VideoEncoderConfig* encoder_config) override { |
+ send_config->rtp.extensions.clear(); |
+ send_config->rtp.extensions.push_back( |
+ RtpExtension(RtpExtension::kVideoContentTypeUri, |
+ test::kVideoContentTypeExtensionId)); |
+ } |
+ |
+ void OnFrameGeneratorCapturerCreated( |
+ test::FrameGeneratorCapturer* frame_generator_capturer) override { |
+ frame_generator_capturer->SetFakeContentType(kVideoContent_Screenshare); |
+ } |
+ |
+ void PerformTest() override { |
+ EXPECT_TRUE(Wait()) << "Timed out while waiting for single RTP packet."; |
+ } |
+ } test; |
+ |
+ RunBaseTest(&test); |
+} |
+ |
class FakeReceiveStatistics : public NullReceiveStatistics { |
public: |
FakeReceiveStatistics(uint32_t send_ssrc, |
@@ -1973,7 +2013,7 @@ VideoFrame CreateVideoFrame(int width, int height, uint8_t data) { |
memset(buffer.get(), data, kSizeY); |
VideoFrame frame( |
I420Buffer::Create(width, height, width, width / 2, width / 2), |
- kVideoRotation_0, data); |
+ kVideoRotation_0, kVideoContent_Default, data); |
frame.set_timestamp(data); |
// Use data as a ms timestamp. |
frame.set_timestamp_us(data * rtc::kNumMicrosecsPerMillisec); |