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

Unified Diff: webrtc/video/video_send_stream_tests.cc

Issue 2911193002: Implement timing frames. (Closed)
Patch Set: Implement Asapersson@ comments Created 3 years, 6 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 3bb565fc9245968e742277336be16e2d72cb2e4c..3c13fdc828a9ac2d2ada27ec0a9be7240a1af7d3 100644
--- a/webrtc/video/video_send_stream_tests.cc
+++ b/webrtc/video/video_send_stream_tests.cc
@@ -337,6 +337,45 @@ TEST_F(VideoSendStreamTest, SupportsVideoContentType) {
RunBaseTest(&test);
}
+TEST_F(VideoSendStreamTest, SupportsVideoTimingFrames) {
+ class VideoRotationObserver : public test::SendTest {
+ public:
+ VideoRotationObserver()
+ : SendTest(kDefaultTimeoutMs), timing_frame_observed_(false) {
+ EXPECT_TRUE(parser_->RegisterRtpHeaderExtension(
+ kRtpExtensionVideoTiming, test::kVideoTimingExtensionId));
+ }
+
+ Action OnSendRtp(const uint8_t* packet, size_t length) override {
+ RTPHeader header;
+ EXPECT_TRUE(parser_->Parse(packet, length, &header));
+ if (header.extension.hasVideoTiming) {
+ observation_complete_.Set();
+ timing_frame_observed_ = true;
sprang_webrtc 2017/06/13 14:14:14 Do you need this variable?
ilnik 2017/06/13 14:55:44 You are right, it's not needed, because if observa
+ }
+ 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::kVideoTimingUri, test::kVideoTimingExtensionId));
+ }
+
+ void PerformTest() override {
+ EXPECT_TRUE(Wait()) << "Timed out while waiting for timing frames.";
+ }
+
+ bool timing_frame_observed_;
+ } test;
+
+ RunBaseTest(&test);
+ EXPECT_TRUE(test.timing_frame_observed_);
+}
+
class FakeReceiveStatistics : public NullReceiveStatistics {
public:
FakeReceiveStatistics(uint32_t send_ssrc,

Powered by Google App Engine
This is Rietveld 408576698