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 | 10 |
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
405 EXPECT_EQ(0, sender_->RegisterSendCodec(&codec_, 1, 1200)); | 405 EXPECT_EQ(0, sender_->RegisterSendCodec(&codec_, 1, 1200)); |
406 } | 406 } |
407 | 407 |
408 static VideoCodec MakeVp8VideoCodec(int width, | 408 static VideoCodec MakeVp8VideoCodec(int width, |
409 int height, | 409 int height, |
410 int temporal_layers) { | 410 int temporal_layers) { |
411 VideoCodec codec; | 411 VideoCodec codec; |
412 VideoCodingModule::Codec(kVideoCodecVP8, &codec); | 412 VideoCodingModule::Codec(kVideoCodecVP8, &codec); |
413 codec.width = width; | 413 codec.width = width; |
414 codec.height = height; | 414 codec.height = height; |
415 codec.codecSpecific.VP8.numberOfTemporalLayers = temporal_layers; | 415 codec.VP8()->numberOfTemporalLayers = temporal_layers; |
416 return codec; | 416 return codec; |
417 } | 417 } |
418 | 418 |
419 void InsertFrames(float framerate, float seconds) { | 419 void InsertFrames(float framerate, float seconds) { |
420 for (int i = 0; i < seconds * framerate; ++i) { | 420 for (int i = 0; i < seconds * framerate; ++i) { |
421 clock_.AdvanceTimeMilliseconds(1000.0f / framerate); | 421 clock_.AdvanceTimeMilliseconds(1000.0f / framerate); |
422 AddFrame(); | 422 AddFrame(); |
423 // SetChannelParameters needs to be called frequently to propagate | 423 // SetChannelParameters needs to be called frequently to propagate |
424 // framerate from the media optimization into the encoder. | 424 // framerate from the media optimization into the encoder. |
425 // Note: SetChannelParameters fails if less than 2 frames are in the | 425 // Note: SetChannelParameters fails if less than 2 frames are in the |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
470 | 470 |
471 #if defined(WEBRTC_ANDROID) || defined(WEBRTC_IOS) | 471 #if defined(WEBRTC_ANDROID) || defined(WEBRTC_IOS) |
472 #define MAYBE_RealTimeTemporalLayersStrategy \ | 472 #define MAYBE_RealTimeTemporalLayersStrategy \ |
473 DISABLED_RealTimeTemporalLayersStrategy | 473 DISABLED_RealTimeTemporalLayersStrategy |
474 #else | 474 #else |
475 #define MAYBE_RealTimeTemporalLayersStrategy RealTimeTemporalLayersStrategy | 475 #define MAYBE_RealTimeTemporalLayersStrategy RealTimeTemporalLayersStrategy |
476 #endif | 476 #endif |
477 TEST_F(TestVideoSenderWithVp8, MAYBE_RealTimeTemporalLayersStrategy) { | 477 TEST_F(TestVideoSenderWithVp8, MAYBE_RealTimeTemporalLayersStrategy) { |
478 VideoCodec codec = MakeVp8VideoCodec(352, 288, 3); | 478 VideoCodec codec = MakeVp8VideoCodec(352, 288, 3); |
479 RealTimeTemporalLayersFactory realtime_tl_factory; | 479 RealTimeTemporalLayersFactory realtime_tl_factory; |
480 codec.codecSpecific.VP8.tl_factory = &realtime_tl_factory; | 480 codec.VP8()->tl_factory = &realtime_tl_factory; |
481 codec.minBitrate = 10; | 481 codec.minBitrate = 10; |
482 codec.startBitrate = codec_bitrate_kbps_; | 482 codec.startBitrate = codec_bitrate_kbps_; |
483 codec.maxBitrate = codec_bitrate_kbps_; | 483 codec.maxBitrate = codec_bitrate_kbps_; |
484 EXPECT_EQ(0, sender_->RegisterSendCodec(&codec, 1, 1200)); | 484 EXPECT_EQ(0, sender_->RegisterSendCodec(&codec, 1, 1200)); |
485 | 485 |
486 const int low_b = codec_bitrate_kbps_ * 0.4; | 486 const int low_b = codec_bitrate_kbps_ * 0.4; |
487 const int mid_b = codec_bitrate_kbps_ * 0.6; | 487 const int mid_b = codec_bitrate_kbps_ * 0.6; |
488 const int high_b = codec_bitrate_kbps_; | 488 const int high_b = codec_bitrate_kbps_; |
489 | 489 |
490 { | 490 { |
(...skipping 14 matching lines...) Expand all Loading... |
505 } | 505 } |
506 { | 506 { |
507 // TODO(andresp): Find out why this fails with framerate = 7.5 | 507 // TODO(andresp): Find out why this fails with framerate = 7.5 |
508 Vp8StreamInfo expected = {{7.0, 7.0, 7.0}, {high_b, high_b, high_b}}; | 508 Vp8StreamInfo expected = {{7.0, 7.0, 7.0}, {high_b, high_b, high_b}}; |
509 EXPECT_THAT(SimulateWithFramerate(7.0), MatchesVp8StreamInfo(expected)); | 509 EXPECT_THAT(SimulateWithFramerate(7.0), MatchesVp8StreamInfo(expected)); |
510 } | 510 } |
511 } | 511 } |
512 } // namespace | 512 } // namespace |
513 } // namespace vcm | 513 } // namespace vcm |
514 } // namespace webrtc | 514 } // namespace webrtc |
OLD | NEW |