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