Add config options for python plots and text log to the NetEq simulator API.

This CL also introduces a helper function to perform the config conversion,
which eliminates duplicate code.

Bug: webrtc:10337
Change-Id: I162288f90ebac8f2f345356ec25f0805df698c67
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/188121
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32399}
diff --git a/api/test/neteq_simulator_factory.cc b/api/test/neteq_simulator_factory.cc
index ea5be85..82b27e5 100644
--- a/api/test/neteq_simulator_factory.cc
+++ b/api/test/neteq_simulator_factory.cc
@@ -21,6 +21,24 @@
 
 namespace webrtc {
 namespace test {
+namespace {
+NetEqTestFactory::Config convertConfig(
+    const NetEqSimulatorFactory::Config& simulation_config,
+    absl::string_view replacement_audio_filename) {
+  NetEqTestFactory::Config config;
+  config.replacement_audio_file = std::string(replacement_audio_filename);
+  config.max_nr_packets_in_buffer = simulation_config.max_nr_packets_in_buffer;
+  config.initial_dummy_packets = simulation_config.initial_dummy_packets;
+  config.skip_get_audio_events = simulation_config.skip_get_audio_events;
+  config.field_trial_string = simulation_config.field_trial_string;
+  config.output_audio_filename = simulation_config.output_audio_filename;
+  config.pythonplot = simulation_config.python_plot_filename.has_value();
+  config.plot_scripts_basename = simulation_config.python_plot_filename;
+  config.textlog = simulation_config.text_log_filename.has_value();
+  config.textlog_filename = simulation_config.text_log_filename;
+  return config;
+}
+}  // namespace
 
 NetEqSimulatorFactory::NetEqSimulatorFactory()
     : factory_(std::make_unique<NetEqTestFactory>()) {}
@@ -31,13 +49,8 @@
     absl::string_view event_log_filename,
     absl::string_view replacement_audio_filename,
     Config simulation_config) {
-  NetEqTestFactory::Config config;
-  config.replacement_audio_file = std::string(replacement_audio_filename);
-  config.max_nr_packets_in_buffer = simulation_config.max_nr_packets_in_buffer;
-  config.initial_dummy_packets = simulation_config.initial_dummy_packets;
-  config.skip_get_audio_events = simulation_config.skip_get_audio_events;
-  config.field_trial_string = simulation_config.field_trial_string;
-  config.output_audio_filename = simulation_config.output_audio_filename;
+  NetEqTestFactory::Config config =
+      convertConfig(simulation_config, replacement_audio_filename);
   return factory_->InitializeTestFromFile(
       std::string(event_log_filename), simulation_config.neteq_factory, config);
 }
@@ -47,12 +60,8 @@
     absl::string_view event_log_file_contents,
     absl::string_view replacement_audio_filename,
     Config simulation_config) {
-  NetEqTestFactory::Config config;
-  config.replacement_audio_file = std::string(replacement_audio_filename);
-  config.max_nr_packets_in_buffer = simulation_config.max_nr_packets_in_buffer;
-  config.initial_dummy_packets = simulation_config.initial_dummy_packets;
-  config.skip_get_audio_events = simulation_config.skip_get_audio_events;
-  config.field_trial_string = simulation_config.field_trial_string;
+  NetEqTestFactory::Config config =
+      convertConfig(simulation_config, replacement_audio_filename);
   return factory_->InitializeTestFromString(
       std::string(event_log_file_contents), simulation_config.neteq_factory,
       config);
diff --git a/api/test/neteq_simulator_factory.h b/api/test/neteq_simulator_factory.h
index b3c77b1..2a716e6 100644
--- a/api/test/neteq_simulator_factory.h
+++ b/api/test/neteq_simulator_factory.h
@@ -44,6 +44,10 @@
     std::string field_trial_string;
     // A filename for the generated output audio file.
     absl::optional<std::string> output_audio_filename;
+    // A filename for the python plot.
+    absl::optional<std::string> python_plot_filename;
+    // A filename for the text log.
+    absl::optional<std::string> text_log_filename;
     // A custom NetEqFactory can be used.
     NetEqFactory* neteq_factory = nullptr;
   };