diff --git a/modules/audio_coding/neteq/tools/neteq_rtpplay.cc b/modules/audio_coding/neteq/tools/neteq_rtpplay.cc index 53744eaa76..aa73b855b9 100644 --- a/modules/audio_coding/neteq/tools/neteq_rtpplay.cc +++ b/modules/audio_coding/neteq/tools/neteq_rtpplay.cc @@ -247,11 +247,11 @@ bool ValidateOutputFilesOptions(bool textlog, return false; } // Without |output_audio_filename|, |output_files_base_name| is required when - // one or more output files must be generated (in order to form a valid output + // plotting output files must be generated (in order to form a valid output // file name). - if (output_audio_filename.empty() && (textlog || plotting) && + if (output_audio_filename.empty() && plotting && !output_files_base_name_specified) { - std::cout << "Error: when no output audio file is specified and --textlog, " + std::cout << "Error: when no output audio file is specified and " << "--matlabplot and/or --pythonplot are used, " << "--output_files_base_name must be also used." << std::endl; return false; @@ -378,6 +378,7 @@ int main(int argc, char* argv[]) { if (!output_audio_filename.empty()) { config.output_audio_filename = output_audio_filename; } + config.textlog = absl::GetFlag(FLAGS_textlog); config.textlog_filename = CreateOptionalOutputFileName( absl::GetFlag(FLAGS_textlog), output_files_base_name, output_audio_filename, ".text_log.txt"); diff --git a/modules/audio_coding/neteq/tools/neteq_test_factory.cc b/modules/audio_coding/neteq/tools/neteq_test_factory.cc index 55bc46d275..f590091b89 100644 --- a/modules/audio_coding/neteq/tools/neteq_test_factory.cc +++ b/modules/audio_coding/neteq/tools/neteq_test_factory.cc @@ -305,10 +305,15 @@ std::unique_ptr NetEqTestFactory::InitializeTest( } } - // Create a text log file if needed. + // Create a text log output stream if needed. std::unique_ptr text_log; - if (config.textlog_filename.has_value()) { + if (config.textlog && config.textlog_filename.has_value()) { + // Write to file. text_log = std::make_unique(*config.textlog_filename); + } else if (config.textlog) { + // Print to stdout. + text_log = std::make_unique(); + text_log->basic_ios::rdbuf(std::cout.rdbuf()); } NetEqTest::Callbacks callbacks; diff --git a/modules/audio_coding/neteq/tools/neteq_test_factory.h b/modules/audio_coding/neteq/tools/neteq_test_factory.h index 3f59f6b8b7..5fd55a7d7a 100644 --- a/modules/audio_coding/neteq/tools/neteq_test_factory.h +++ b/modules/audio_coding/neteq/tools/neteq_test_factory.h @@ -132,8 +132,10 @@ class NetEqTestFactory { int skip_get_audio_events = default_skip_get_audio_events(); // Enables jitter buffer fast accelerate. bool enable_fast_accelerate = false; - // Path to the output text log file that describes the simulation on a - // step-by-step basis. + // Dumps events that describes the simulation on a step-by-step basis. + bool textlog = false; + // If specified and |textlog| is true, the output of |textlog| is written to + // the specified file name. absl::optional textlog_filename; // Base name for the output script files for plotting the delay profile. absl::optional plot_scripts_basename;