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}
This commit is contained in:
parent
52c138e36e
commit
47156e27c0
@ -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 @@ std::unique_ptr<NetEqSimulator> NetEqSimulatorFactory::CreateSimulatorFromFile(
|
||||
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 @@ NetEqSimulatorFactory::CreateSimulatorFromString(
|
||||
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);
|
||||
|
||||
@ -44,6 +44,10 @@ class NetEqSimulatorFactory {
|
||||
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;
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user