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 659af2f137454d8b5e1b7e4deec4e6bdc834b1d9..38edce3f1a95c847218274cbe98ef1de923aaf5e 100644 |
--- a/webrtc/video/end_to_end_tests.cc |
+++ b/webrtc/video/end_to_end_tests.cc |
@@ -22,6 +22,7 @@ |
#include "webrtc/frame_callback.h" |
#include "webrtc/modules/rtp_rtcp/source/byte_io.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/include/video_coding_defines.h" |
@@ -288,12 +289,15 @@ TEST_F(EndToEndTest, SendsAndReceivesVP9) { |
RunBaseTest(&test, FakeNetworkPipe::Config()); |
} |
+#if defined(WEBRTC_THIRD_PARTY_H264) |
+ |
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 { |
@@ -307,9 +311,9 @@ TEST_F(EndToEndTest, SendsAndReceivesH264) { |
VideoEncoderConfig* encoder_config) override { |
send_config->rtp.nack.rtp_history_ms = |
(*receive_configs)[0].rtp.nack.rtp_history_ms = kNackRtpHistoryMs; |
- 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 = 126; |
encoder_config->streams[0].min_bitrate_bps = 50000; |
encoder_config->streams[0].target_bitrate_bps = |
encoder_config->streams[0].max_bitrate_bps = 2000000; |
@@ -320,7 +324,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, |
@@ -333,14 +337,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, FakeNetworkPipe::Config()); |
} |
+#endif // defined(WEBRTC_THIRD_PARTY_H264) |
+ |
TEST_F(EndToEndTest, ReceiverUsesLocalSsrc) { |
class SyncRtcpObserver : public test::EndToEndTest { |
public: |