OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 #include <algorithm> // max | 10 #include <algorithm> // max |
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
289 | 289 |
290 void PerformTest() override { | 290 void PerformTest() override { |
291 EXPECT_TRUE(Wait()) << "Timed out while waiting for single RTP packet."; | 291 EXPECT_TRUE(Wait()) << "Timed out while waiting for single RTP packet."; |
292 } | 292 } |
293 } test; | 293 } test; |
294 | 294 |
295 RunBaseTest(&test); | 295 RunBaseTest(&test); |
296 } | 296 } |
297 | 297 |
298 TEST_F(VideoSendStreamTest, SupportsVideoContentType) { | 298 TEST_F(VideoSendStreamTest, SupportsVideoContentType) { |
299 class VideoRotationObserver : public test::SendTest { | 299 class VideoContentTypeObserver : public test::SendTest { |
300 public: | 300 public: |
301 VideoRotationObserver() : SendTest(kDefaultTimeoutMs) { | 301 VideoContentTypeObserver() : SendTest(kDefaultTimeoutMs) { |
302 EXPECT_TRUE(parser_->RegisterRtpHeaderExtension( | 302 EXPECT_TRUE(parser_->RegisterRtpHeaderExtension( |
303 kRtpExtensionVideoContentType, test::kVideoContentTypeExtensionId)); | 303 kRtpExtensionVideoContentType, test::kVideoContentTypeExtensionId)); |
304 } | 304 } |
305 | 305 |
306 Action OnSendRtp(const uint8_t* packet, size_t length) override { | 306 Action OnSendRtp(const uint8_t* packet, size_t length) override { |
307 RTPHeader header; | 307 RTPHeader header; |
308 EXPECT_TRUE(parser_->Parse(packet, length, &header)); | 308 EXPECT_TRUE(parser_->Parse(packet, length, &header)); |
309 // Only the last packet of the frame must have extension. | 309 // Only the last packet of the frame must have extension. |
310 if (!header.markerBit) | 310 if (!header.markerBit) |
311 return SEND_PACKET; | 311 return SEND_PACKET; |
(...skipping 19 matching lines...) Expand all Loading... |
331 EXPECT_TRUE(Wait()) << "Timed out while waiting for single RTP packet."; | 331 EXPECT_TRUE(Wait()) << "Timed out while waiting for single RTP packet."; |
332 } | 332 } |
333 } test; | 333 } test; |
334 | 334 |
335 test::ScopedFieldTrials override_field_trials( | 335 test::ScopedFieldTrials override_field_trials( |
336 "WebRTC-VideoContentTypeExtension/Enabled/"); | 336 "WebRTC-VideoContentTypeExtension/Enabled/"); |
337 RunBaseTest(&test); | 337 RunBaseTest(&test); |
338 } | 338 } |
339 | 339 |
340 TEST_F(VideoSendStreamTest, SupportsVideoTimingFrames) { | 340 TEST_F(VideoSendStreamTest, SupportsVideoTimingFrames) { |
341 class VideoRotationObserver : public test::SendTest { | 341 class VideoTimingObserver : public test::SendTest { |
342 public: | 342 public: |
343 VideoRotationObserver() : SendTest(kDefaultTimeoutMs) { | 343 VideoTimingObserver() : SendTest(kDefaultTimeoutMs) { |
344 EXPECT_TRUE(parser_->RegisterRtpHeaderExtension( | 344 EXPECT_TRUE(parser_->RegisterRtpHeaderExtension( |
345 kRtpExtensionVideoTiming, test::kVideoTimingExtensionId)); | 345 kRtpExtensionVideoTiming, test::kVideoTimingExtensionId)); |
346 } | 346 } |
347 | 347 |
348 Action OnSendRtp(const uint8_t* packet, size_t length) override { | 348 Action OnSendRtp(const uint8_t* packet, size_t length) override { |
349 RTPHeader header; | 349 RTPHeader header; |
350 EXPECT_TRUE(parser_->Parse(packet, length, &header)); | 350 EXPECT_TRUE(parser_->Parse(packet, length, &header)); |
351 if (header.extension.has_video_timing) { | 351 // Only the last packet of the frame must have extension. |
352 observation_complete_.Set(); | 352 if (!header.markerBit) |
353 } | 353 return SEND_PACKET; |
| 354 EXPECT_TRUE(header.extension.has_video_timing); |
| 355 observation_complete_.Set(); |
354 return SEND_PACKET; | 356 return SEND_PACKET; |
355 } | 357 } |
356 | 358 |
357 void ModifyVideoConfigs( | 359 void ModifyVideoConfigs( |
358 VideoSendStream::Config* send_config, | 360 VideoSendStream::Config* send_config, |
359 std::vector<VideoReceiveStream::Config>* receive_configs, | 361 std::vector<VideoReceiveStream::Config>* receive_configs, |
360 VideoEncoderConfig* encoder_config) override { | 362 VideoEncoderConfig* encoder_config) override { |
361 send_config->rtp.extensions.clear(); | 363 send_config->rtp.extensions.clear(); |
362 send_config->rtp.extensions.push_back(RtpExtension( | 364 send_config->rtp.extensions.push_back(RtpExtension( |
363 RtpExtension::kVideoTimingUri, test::kVideoTimingExtensionId)); | 365 RtpExtension::kVideoTimingUri, test::kVideoTimingExtensionId)); |
(...skipping 3004 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3368 rtc::CriticalSection crit_; | 3370 rtc::CriticalSection crit_; |
3369 uint32_t max_bitrate_bps_ GUARDED_BY(&crit_); | 3371 uint32_t max_bitrate_bps_ GUARDED_BY(&crit_); |
3370 bool first_packet_sent_ GUARDED_BY(&crit_); | 3372 bool first_packet_sent_ GUARDED_BY(&crit_); |
3371 rtc::Event bitrate_changed_event_; | 3373 rtc::Event bitrate_changed_event_; |
3372 } test; | 3374 } test; |
3373 | 3375 |
3374 RunBaseTest(&test); | 3376 RunBaseTest(&test); |
3375 } | 3377 } |
3376 | 3378 |
3377 } // namespace webrtc | 3379 } // namespace webrtc |
OLD | NEW |