diff options
author | stefan@webrtc.org <stefan@webrtc.org> | 2014-11-04 14:57:14 +0000 |
---|---|---|
committer | stefan@webrtc.org <stefan@webrtc.org> | 2014-11-04 14:57:14 +0000 |
commit | 8d28158fe5a9526c3b8138fc3c27bcea768eb6f5 (patch) | |
tree | a966714c9ebb89e3ba9b65f26d5ea8804c79b80c | |
parent | 95e0f61a2bf27af6156ee639fbcad1f9794a3594 (diff) | |
download | webrtc-8d28158fe5a9526c3b8138fc3c27bcea768eb6f5.tar.gz |
Adds support for finch experiments to video_loopback.
Adds support for logging to stderr via -logs.
Enables abs-send-time by default.
R=mflodman@webrtc.org, pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/23329004
git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@7613 4adac7df-926f-26a2-2b94-8c16560cd09d
-rw-r--r-- | video/loopback.cc | 26 | ||||
-rw-r--r-- | webrtc_tests.gypi | 1 |
2 files changed, 26 insertions, 1 deletions
diff --git a/video/loopback.cc b/video/loopback.cc index 4d3393e7..4b49c31e 100644 --- a/video/loopback.cc +++ b/video/loopback.cc @@ -22,13 +22,18 @@ #include "webrtc/test/direct_transport.h" #include "webrtc/test/encoder_settings.h" #include "webrtc/test/fake_encoder.h" +#include "webrtc/test/field_trial.h" #include "webrtc/test/run_loop.h" #include "webrtc/test/run_test.h" +#include "webrtc/test/testsupport/trace_to_stderr.h" #include "webrtc/test/video_capturer.h" #include "webrtc/test/video_renderer.h" #include "webrtc/typedefs.h" namespace webrtc { + +static const int kAbsSendTimeExtensionId = 7; + namespace flags { DEFINE_int32(width, 640, "Video width."); @@ -82,6 +87,16 @@ DEFINE_int32(std_propagation_delay_ms, int StdPropagationDelayMs() { return static_cast<int>(FLAGS_std_propagation_delay_ms); } + +DEFINE_bool(logs, false, "print logs to stderr"); + +DEFINE_string( + force_fieldtrials, + "", + "Field trials control experimental feature code which can be forced. " + "E.g. running with --force_fieldtrials=WebRTC-FooFeature/Enable/" + " will assign the group Enable to field trial WebRTC-FooFeature. Multiple " + "trials are separated by \"/\""); } // namespace flags static const uint32_t kSendSsrc = 0x654321; @@ -91,6 +106,10 @@ static const uint32_t kReceiverLocalSsrc = 0x123456; static const uint8_t kRtxPayloadType = 96; void Loopback() { + scoped_ptr<test::TraceToStderr> trace_to_stderr_; + if (webrtc::flags::FLAGS_logs) + trace_to_stderr_.reset(new test::TraceToStderr); + scoped_ptr<test::VideoRenderer> local_preview(test::VideoRenderer::Create( "Local Preview", flags::Width(), flags::Height())); scoped_ptr<test::VideoRenderer> loopback_video(test::VideoRenderer::Create( @@ -116,6 +135,8 @@ void Loopback() { send_config.rtp.rtx.ssrcs.push_back(kSendRtxSsrc); send_config.rtp.rtx.payload_type = kRtxPayloadType; send_config.rtp.nack.rtp_history_ms = 1000; + send_config.rtp.extensions.push_back( + RtpExtension(RtpExtension::kAbsSendTime, kAbsSendTimeExtensionId)); send_config.local_renderer = local_preview.get(); scoped_ptr<VideoEncoder> encoder; @@ -158,6 +179,8 @@ void Loopback() { receive_config.rtp.nack.rtp_history_ms = 1000; receive_config.rtp.rtx[kRtxPayloadType].ssrc = kSendRtxSsrc; receive_config.rtp.rtx[kRtxPayloadType].payload_type = kRtxPayloadType; + receive_config.rtp.extensions.push_back( + RtpExtension(RtpExtension::kAbsSendTime, kAbsSendTimeExtensionId)); receive_config.renderer = loopback_video.get(); VideoReceiveStream::Decoder decoder = test::CreateMatchingDecoder(send_config.encoder_settings); @@ -188,7 +211,8 @@ void Loopback() { int main(int argc, char* argv[]) { ::testing::InitGoogleTest(&argc, argv); google::ParseCommandLineFlags(&argc, &argv, true); - + webrtc::test::InitFieldTrialsFromString( + webrtc::flags::FLAGS_force_fieldtrials); webrtc::test::RunTest(webrtc::Loopback); return 0; } diff --git a/webrtc_tests.gypi b/webrtc_tests.gypi index 33e509fa..dc17e707 100644 --- a/webrtc_tests.gypi +++ b/webrtc_tests.gypi @@ -59,6 +59,7 @@ '<(webrtc_root)/modules/modules.gyp:video_capture_module_internal_impl', '<(webrtc_root)/modules/modules.gyp:video_render_module_impl', '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers_default', + 'test/test.gyp:test_main', 'webrtc', ], }, |