Index: webrtc/video/video_quality_test.cc |
diff --git a/webrtc/video/video_quality_test.cc b/webrtc/video/video_quality_test.cc |
index 16d7356053d4af34d18c63a9b44bf79277c62afb..b7860121beebd0045014ac2620049c9920b053e1 100644 |
--- a/webrtc/video/video_quality_test.cc |
+++ b/webrtc/video/video_quality_test.cc |
@@ -153,8 +153,7 @@ class VideoAnalyzer : public PacketReceiver, |
int selected_sl, |
int selected_tl, |
bool is_quick_test_enabled, |
- Clock* clock, |
- std::string rtp_dump_name) |
+ Clock* clock) |
: transport_(transport), |
receiver_(nullptr), |
call_(nullptr), |
@@ -190,9 +189,7 @@ class VideoAnalyzer : public PacketReceiver, |
is_quick_test_enabled_(is_quick_test_enabled), |
stats_polling_thread_(&PollStatsThread, this, "StatsPoller"), |
comparison_available_event_(false, false), |
- done_(true, false), |
- clock_(clock), |
- start_ms_(clock->TimeInMilliseconds()) { |
+ done_(true, false) { |
// Create thread pool for CPU-expensive PSNR/SSIM calculations. |
// Try to use about as many threads as cores, but leave kMinCoresLeft alone, |
@@ -218,12 +215,6 @@ class VideoAnalyzer : public PacketReceiver, |
thread->Start(); |
comparison_thread_pool_.push_back(thread); |
} |
- |
- if (!rtp_dump_name.empty()) { |
- fprintf(stdout, "Writing rtp dump to %s\n", rtp_dump_name.c_str()); |
- rtp_file_writer_.reset(test::RtpFileWriter::Create( |
- test::RtpFileWriter::kRtpDump, rtp_dump_name)); |
- } |
} |
~VideoAnalyzer() { |
@@ -277,15 +268,6 @@ class VideoAnalyzer : public PacketReceiver, |
return receiver_->DeliverPacket(media_type, packet, length, packet_time); |
} |
- if (rtp_file_writer_) { |
- test::RtpPacket p; |
- memcpy(p.data, packet, length); |
- p.length = length; |
- p.original_length = length; |
- p.time_ms = clock_->TimeInMilliseconds() - start_ms_; |
- rtp_file_writer_->WritePacket(&p); |
- } |
- |
RtpUtility::RtpHeaderParser parser(packet, length); |
RTPHeader header; |
parser.Parse(&header); |
@@ -1120,10 +1102,6 @@ class VideoAnalyzer : public PacketReceiver, |
rtc::Event comparison_available_event_; |
std::deque<FrameComparison> comparisons_ GUARDED_BY(comparison_lock_); |
rtc::Event done_; |
- |
- std::unique_ptr<test::RtpFileWriter> rtp_file_writer_; |
- Clock* const clock_; |
- const int64_t start_ms_; |
}; |
class Vp8EncoderFactory : public cricket::WebRtcVideoEncoderFactory { |
@@ -1808,10 +1786,17 @@ void VideoQualityTest::RunWithAnalyzer(const Params& params) { |
&recv_transport]() { |
CreateCalls(call_config, call_config); |
+ std::unique_ptr<test::RtpFileWriter> rtp_file_writer; |
+ if (!params_.logging.rtp_dump_name.empty()) { |
+ LOG(LS_INFO) << "Writing rtp dump to " << params_.logging.rtp_dump_name; |
+ rtp_file_writer.reset(test::RtpFileWriter::Create( |
+ test::RtpFileWriter::kRtpDump, params_.logging.rtp_dump_name)); |
+ } |
+ |
send_transport = rtc::MakeUnique<test::LayerFilteringTransport>( |
&task_queue_, params_.pipe, sender_call_.get(), kPayloadTypeVP8, |
kPayloadTypeVP9, params_.video.selected_tl, params_.ss.selected_sl, |
- payload_type_map_); |
+ payload_type_map_, std::move(rtp_file_writer)); |
recv_transport = rtc::MakeUnique<test::DirectTransport>( |
&task_queue_, params_.pipe, receiver_call_.get(), payload_type_map_); |
@@ -1831,8 +1816,7 @@ void VideoQualityTest::RunWithAnalyzer(const Params& params) { |
kVideoSendSsrcs[params_.ss.selected_stream], |
kSendRtxSsrcs[params_.ss.selected_stream], |
static_cast<size_t>(params_.ss.selected_stream), params.ss.selected_sl, |
- params_.video.selected_tl, is_quick_test_enabled, clock_, |
- params_.logging.rtp_dump_name); |
+ params_.video.selected_tl, is_quick_test_enabled, clock_); |
task_queue_.SendTask([&]() { |
analyzer->SetCall(sender_call_.get()); |
@@ -1994,12 +1978,19 @@ void VideoQualityTest::RunWithRenderers(const Params& params) { |
CreateCalls(call_config, call_config); |
+ std::unique_ptr<test::RtpFileWriter> rtp_file_writer; |
+ if (!params_.logging.rtp_dump_name.empty()) { |
+ LOG(LS_INFO) << "Writing rtp dump to " << params_.logging.rtp_dump_name; |
+ rtp_file_writer.reset(test::RtpFileWriter::Create( |
+ test::RtpFileWriter::kRtpDump, params_.logging.rtp_dump_name)); |
+ } |
+ |
// TODO(minyue): consider if this is a good transport even for audio only |
// calls. |
send_transport = rtc::MakeUnique<test::LayerFilteringTransport>( |
&task_queue_, params.pipe, sender_call_.get(), kPayloadTypeVP8, |
kPayloadTypeVP9, params.video.selected_tl, params_.ss.selected_sl, |
- payload_type_map_); |
+ payload_type_map_, std::move(rtp_file_writer)); |
recv_transport = rtc::MakeUnique<test::DirectTransport>( |
&task_queue_, params_.pipe, receiver_call_.get(), payload_type_map_); |