Chromium Code Reviews| Index: webrtc/video/end_to_end_tests.cc |
| diff --git a/webrtc/video/end_to_end_tests.cc b/webrtc/video/end_to_end_tests.cc |
| index a71c2e08beda6450a72e830ca53643ecfcad21d9..32bff57150b9158af583e7821921a0b19e14a35e 100644 |
| --- a/webrtc/video/end_to_end_tests.cc |
| +++ b/webrtc/video/end_to_end_tests.cc |
| @@ -19,6 +19,7 @@ |
| #include "webrtc/call.h" |
| #include "webrtc/frame_callback.h" |
| #include "webrtc/modules/rtp_rtcp/source/rtcp_utility.h" |
| +#include "webrtc/modules/video_coding/codecs/h264/include/h264.h" |
| #include "webrtc/modules/video_coding/codecs/vp8/include/vp8.h" |
| #include "webrtc/modules/video_coding/codecs/vp9/include/vp9.h" |
| #include "webrtc/modules/video_coding/main/interface/video_coding_defines.h" |
| @@ -280,12 +281,15 @@ TEST_F(EndToEndTest, SendsAndReceivesVP9) { |
| RunBaseTest(&test); |
| } |
| +#if defined(WEBRTC_OPENH264) |
| + |
| TEST_F(EndToEndTest, SendsAndReceivesH264) { |
| class H264Observer : public test::EndToEndTest, public VideoRenderer { |
| public: |
| H264Observer() |
| : EndToEndTest(2 * kDefaultTimeoutMs), |
| - fake_encoder_(Clock::GetRealTimeClock()), |
| + encoder_(VideoEncoder::Create(VideoEncoder::kH264)), |
| + decoder_(H264Decoder::Create()), |
| frame_counter_(0) {} |
| void PerformTest() override { |
| @@ -296,11 +300,9 @@ TEST_F(EndToEndTest, SendsAndReceivesH264) { |
| void ModifyConfigs(VideoSendStream::Config* send_config, |
| std::vector<VideoReceiveStream::Config>* receive_configs, |
| VideoEncoderConfig* encoder_config) override { |
| - send_config->rtp.nack.rtp_history_ms = |
| - (*receive_configs)[0].rtp.nack.rtp_history_ms = kNackRtpHistoryMs; |
|
stefan-webrtc
2015/09/28 11:19:02
I think you still want NACK to be enabled.
hbos
2015/09/30 15:35:19
Done.
|
| - send_config->encoder_settings.encoder = &fake_encoder_; |
| + send_config->encoder_settings.encoder = encoder_.get(); |
| send_config->encoder_settings.payload_name = "H264"; |
| - send_config->encoder_settings.payload_type = kFakeSendPayloadType; |
| + send_config->encoder_settings.payload_type = 120; |
| encoder_config->streams[0].min_bitrate_bps = 50000; |
| encoder_config->streams[0].target_bitrate_bps = |
| encoder_config->streams[0].max_bitrate_bps = 2000000; |
| @@ -311,7 +313,7 @@ TEST_F(EndToEndTest, SendsAndReceivesH264) { |
| send_config->encoder_settings.payload_type; |
| (*receive_configs)[0].decoders[0].payload_name = |
| send_config->encoder_settings.payload_name; |
| - (*receive_configs)[0].decoders[0].decoder = &fake_decoder_; |
| + (*receive_configs)[0].decoders[0].decoder = decoder_.get(); |
| } |
| void RenderFrame(const VideoFrame& video_frame, |
| @@ -324,14 +326,16 @@ TEST_F(EndToEndTest, SendsAndReceivesH264) { |
| bool IsTextureSupported() const override { return false; } |
| private: |
| - test::FakeH264Decoder fake_decoder_; |
| - test::FakeH264Encoder fake_encoder_; |
| + rtc::scoped_ptr<webrtc::VideoEncoder> encoder_; |
| + rtc::scoped_ptr<webrtc::VideoDecoder> decoder_; |
| int frame_counter_; |
| } test; |
| RunBaseTest(&test); |
| } |
| +#endif // defined(WEBRTC_OPENH264) |
| + |
| TEST_F(EndToEndTest, ReceiverUsesLocalSsrc) { |
| class SyncRtcpObserver : public test::EndToEndTest { |
| public: |